Skip to main content
Set up your local environment before working through the TypeScript quickstart. This page prepares the swig-ts example workspace so you can run the tutorial code locally and compare your changes with the reference examples.

Prerequisites

Before starting, make sure you have the following installed:

Option A: Node.js + Yarn

  • Node.js v16 or newer
  • Yarn v3+

Option B (Preferred): Bun

Bun provides better performance and a simpler setup. Install it with:
curl -fsSL https://bun.sh/install | bash

Required Tools

Additionally, you’ll need:
  • Solana CLI
  • Rust + Cargo

Step 1: Clone and Install

First, clone the examples repository and install dependencies:
# Clone the repository
git clone https://github.com/anagrambuild/swig-ts.git

# Enter the project directory
cd swig-ts

# Install dependencies
bun install

Step 2: Navigate to Examples

Move into the examples directory where you’ll write your code:
cd examples/tutorial/classic 
This location is important because it:
  • Provides access to working examples (transfer-local.ts, mint.ts, etc.)
  • Uses shared tooling without extra configuration
  • Allows side-by-side comparison with official samples

Step 3: Start the Validator

Start a local Solana testnet for development:
bun start-validator
This command:
  • Spins up a local Solana testnet
  • Installs Swig programs into the testnet
  • Creates a safe, reproducible environment for testing
💡 Keep the validator running in a separate terminal window. You only need to start it once per development session.

Verifying Your Setup

To verify everything is working:
  1. Check the validator:
solana config get
You should see the local network configuration.

Common Issues

Validator Won’t Start

If the validator fails to start:
  1. Check if another validator is running:
ps aux | grep solana-test-validator
  1. Kill any existing processes:
pkill solana-test-validator

Installation Problems

If you encounter installation issues:
  1. Clear your package cache:
bun cache clean
  1. Remove and reinstall dependencies:
rm -rf node_modules
bun install

Port Conflicts

If you see port conflicts:
  1. Check which process is using the port:
lsof -i :8899
  1. Either kill the process or configure a different port in your settings.

Development Tools

We recommend the following tools for the best development experience:

Code Editor

  • VS Code with extensions:
    • TypeScript and JavaScript Language Features
    • Solidity
    • Rust

Browser Extensions

  • Swig Wallet Extension (Coming Soon)
  • Phantom Wallet
  • Solflare Wallet

Command Line Tools

  • solana-cli for blockchain interaction
  • cargo for Rust development
  • bun for running TypeScript files