IRONQ

Quickstart

Get IronQ running on Solana devnet in minutes

Prerequisites

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)