Quickstart · mining walkthrough

Mine a season, derive a WalletX address,
and submit a signed transfer.

Two self-contained workflows — PowerShell and bash — that compile Crocus binaries, run the mempool edge, mine Proof-of-Bloom blocks, derive an address, and push a transfer through /tx.

Prerequisites

Three tools, no sign-ups.

rust

Rust toolchain

Stable channel via rustup default stable.

shell

Git + shell

PowerShell 7 on Windows; bash or zsh on macOS / Linux.

optional

jq

Pretty-prints JSON responses — handy but not required.

Full workflow

Build, mine, derive, send.

Both versions compile the minimum binary set, bring up mempoold, seed 50 coinbase blocks, derive a WalletX address, and push a transfer back to yourself.

windowsPowerShell 7
# 1. Build release binaries
cargo build --release --bin mempoold --bin devnet --bin crocus_walletx

# 2. Start the mempool edge (loopback + strict CORS)
./target/release/mempoold.exe --http 127.0.0.1:18080 --root devnet

# 3. Mine a batch of blocks for coinbase funds
./target/release/devnet.exe --blocks 50

# 4. Derive a WalletX address (testnet)
$PASS = "demo-pass-1234"
$ADDR = ./target/release/crocus_walletx.exe addr --pass $PASS --testnet true

# 5. Send yourself a signed transfer
./target/release/crocus_walletx.exe send `
  --to $ADDR --flwr 2000 --fee 200 `
  --pass $PASS --mempool-append --post --root devnet

# 6. Inspect chain tip + balance
curl http://127.0.0.1:18080/chain-tip
curl http://127.0.0.1:18080/address/$ADDR
unixbash / zsh
# 1. Build release binaries
cargo build --release --bin mempoold --bin devnet --bin crocus_walletx

# 2. Start the mempool edge (loopback + strict CORS)
./target/release/mempoold --http 127.0.0.1:18080 --root devnet &

# 3. Mine a batch of blocks for coinbase funds
./target/release/devnet --blocks 50

# 4. Derive a WalletX address (testnet)
ADDR=$(./target/release/crocus_walletx addr --pass demo --testnet true)

# 5. Send yourself a signed transfer
./target/release/crocus_walletx send \
  --to "$ADDR" --flwr 2000 --fee 200 --pass demo \
  --mempool-append --post --root devnet

# 6. Inspect
curl http://127.0.0.1:18080/chain-tip | jq
curl http://127.0.0.1:18080/address/$ADDR | jq

Tips

Four habits that save debugging time.

Explorer auto-wire

Open the portal with ?base=http://127.0.0.1:18080 — or paste into the Explorer input. Persists in localStorage.

CORS scoping

mempoold defaults to 127.0.0.1. To expose elsewhere, set --http and a strict MEMPOOLD_ALLOW_ORIGIN.

Live events

curl -N http://127.0.0.1:18080/events streams mempool and block events over SSE.

Windows file locks

Stop mempoold.exe or devnet.exe before rebuilding to avoid locking target/.

Sample responses

What to expect from the edge.

GET /chain-tip
{
  "best_hash": "0abc.def0",
  "best_height": 50,
  "best_cum_work": 11360
}
GET /address/{addr}
{
  "balance": 250000000,
  "nonce": 1,
  "pending": 0
}

Troubleshooting

First-time gotchas.

Port in use

Stop previous instances or pass --http 127.0.0.1:18100.

AddrInUse on Windows

Get-NetTCPConnection -LocalPort 18080 identifies lingering processes.

CORS blocked

Allow the exact origin via MEMPOOLD_ALLOW_ORIGIN=https://example.com. Avoid *.

SSE idle

Ensure the explorer is pointing to the same base URL as the running mempool edge.