Quick Start

Tutorial: install the binary, run a regtest node, query RPC, and mine one block. About five minutes. For mainnet, use First Node Setup: Mainnet IBD instead of the steps below.

Prerequisites: Installation completed (blvm on your PATH).

1. Verify the binary

blvm version
blvm --help

You should see a version string and help text (no “command not found”). Version is a subcommand (blvm version), not blvm --version.

2. Start a regtest node

Use a dedicated data directory and a minimal config so regtest mining RPCs work (generatetoaddress is admin-only):

mkdir -p ~/.local/share/blvm-quickstart
cat > ~/.local/share/blvm-quickstart/blvm.toml <<'EOF'
transport_preference = "tcponly"
protocol_version = "Regtest"

[storage]
data_dir = "~/.local/share/blvm-quickstart"

[rpc_auth]
admin_tokens = ["quickstart"]
EOF

blvm --config ~/.local/share/blvm-quickstart/blvm.toml --verbose

In the first log lines, confirm:

  • Network: Regtest (or equivalent)
  • RPC listening on 127.0.0.1:18443 (regtest default; testnet uses 18332)

Leave this process running. On a fresh datadir, wait until logs show Component startup complete or NodeStartupCompleted (~10-15 seconds) before mining in step 4: RPC listens earlier, but generatetoaddress needs an initialized chain tip.

3. Check chain state

Regtest uses RPC port 18443 (Core-aligned; mainnet 8332, testnet 18332):

curl -s -X POST http://127.0.0.1:18443 \
 -H "Content-Type: application/json" \
 -d '{"jsonrpc":"2.0","method":"getblockchaininfo","params":[],"id":1}'

Expected at genesis: "chain":"regtest" and "blocks":0.

4. Mine one block (regtest)

generatetoaddress requires an admin Bearer token (listed in [rpc_auth].admin_tokens):

curl -s -X POST http://127.0.0.1:18443 \
 -H "Content-Type: application/json" \
 -H "Authorization: Bearer quickstart" \
 -d '{"jsonrpc":"2.0","method":"generatetoaddress","params":[1,"bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4"],"id":2}'

Expected: JSON result with an array of one block hash (hex). Without the Bearer header you get HTTP 403 (requires admin privileges).

5. Confirm the new height

Run getblockchaininfo again (step 3). Expected: "blocks":1 (or higher if you mined more).

You now have a running regtest node that processed at least one block.

Next steps