Quickstart
Get IronQ running on Solana devnet in minutes
Prerequisites
- Rust (stable toolchain)
- Solana CLI (v2.x)
- Anchor (v0.31.1)
- Node.js (v18+)
- Yarn
Build
cd ironq
# Build the Solana program
anchor build
# Build the CLI
cargo build -p ironq-cli --release
# Binary at target/release/ironq
Configure Solana
solana config set --url devnet
solana airdrop 2
Full Lifecycle (Devnet)
# 1. Initialize a queue
ironq init --mint <TOKEN_MINT> --arbiter <ARBITER_PUBKEY> \
--min-stake 1000000 --timeout 120 --slash-rate 1000 --crank-reward 2000
# 2. Register as a worker
ironq worker register --stake 5000000
# 3. Create a job
ironq job create --reward 5000000 --data $(printf '%064d' 0) --priority high
# 4. Claim, execute, and submit
ironq job claim 0
ironq job submit 0 --result $(printf '%064d' 1)
# 5. Approve and close
ironq job approve 0
ironq crank close 0
Run Tests
IronQ uses solana-bankrun for fast, deterministic testing — no local validator needed.
cd ironq
anchor build # Must build first for IDL generation
yarn install
anchor test --skip-local-validator
133 tests across 21 groups covering the full instruction set, edge cases, token conservation, and stress scenarios.
Project Structure
ironq/
├── programs/ironq/src/ # Solana program (Anchor 0.31.1)
│ ├── lib.rs # Program entrypoint (18 instructions)
│ ├── errors.rs # IronQError enum (24 variants)
│ ├── events.rs # 18 event types
│ ├── state/ # 4 account types
│ └── instructions/ # 18 instruction handlers
├── cli/src/ # Rust CLI (ironq-cli)
├── sdk/src/ # TypeScript SDK (ironq-sdk)
└── tests/ # 21 test files (bankrun)