Rust toolchain
Stable channel via rustup default stable.
Quickstart · mining walkthrough
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
Stable channel via rustup default stable.
PowerShell 7 on Windows; bash or zsh on macOS / Linux.
Pretty-prints JSON responses — handy but not required.
Full workflow
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.
# 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
# 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
Open the portal with ?base=http://127.0.0.1:18080 — or paste into the Explorer input. Persists in localStorage.
mempoold defaults to 127.0.0.1. To expose elsewhere, set --http and a strict MEMPOOLD_ALLOW_ORIGIN.
curl -N http://127.0.0.1:18080/events streams mempool and block events over SSE.
Stop mempoold.exe or devnet.exe before rebuilding to avoid locking target/.
Sample responses
{
"best_hash": "0abc.def0",
"best_height": 50,
"best_cum_work": 11360
}
{
"balance": 250000000,
"nonce": 1,
"pending": 0
}
Troubleshooting
Stop previous instances or pass --http 127.0.0.1:18100.
Get-NetTCPConnection -LocalPort 18080 identifies lingering processes.
Allow the exact origin via MEMPOOLD_ALLOW_ORIGIN=https://example.com. Avoid *.
Ensure the explorer is pointing to the same base URL as the running mempool edge.