Node setup
Node Deployment and Operations¶
Supported environments: Linux/macOS. On Windows, WSL2 (Ubuntu) is recommended. See rust-setup.md for Rust installation and dependencies.
1) Tool Installation - Install Rust stable + nightly and wasm target: see rust-setup.md. - Minimum: rustup default stable && rustup update && rustup target add wasm32-unknown-unknown --toolchain nightly.
2) Build
Binary:./target/release/taler-node. 3) Quick Dev Chain Launch
- Dev network: ephemeral state, Alice/Bob validators, sudo = Alice. - Useful for local development and debugging.4) Clear Dev Network State
5) Connect via polkadot.js/apps - Open the portal and specify RPC: ws://127.0.0.1:9944.
6) Generate chain-spec for testnet/production - Generate "plain" spec:
- Convert to "raw" (deterministic) - Optionally useutils/chain-spec-builder for extended generation (pre-configured accounts, assets, etc.). Build the utility: 7) Single-node testnet launch (persistent)
./target/release/taler-node \
--base-path ./data/node1 \
--chain ./taler-dev-raw.json \
--name node1 \
--rpc-cors all --unsafe-rpc-external --unsafe-ws-external
8) Multi-node local testnet - Node 1 (Babe/Grandpa authentication):
./target/release/taler-node \
--base-path ./data/node1 \
--chain ./taler-dev-raw.json \
--name node1 \
--validator \
--rpc-methods=Unsafe \
--rpc-cors all --unsafe-rpc-external --unsafe-ws-external
./target/release/taler-node \
--base-path ./data/node2 \
--chain ./taler-dev-raw.json \
--name node2 \
--validator \
--bootnodes <multiaddr-node1>
9) Key generation and insertion (block production) - Key types: Babe (babe), Grandpa (gran), ImOnline (imon), AuthorityDiscovery (audi). - Create keys:
./target/release/taler-node key insert \
--base-path ./data/node1 \
--chain ./taler-dev-raw.json \
--scheme sr25519 \
--suri "<seed>" \
--key-type babe
gran (ed25519), imon (sr25519), audi (sr25519). Add validator account to session/staking. 10) Addresses and format - Network SS58 prefix: 10960. When working with addresses/keys, specify the prefix in wallets/tools.
11) Telemetry (optional) - Add flag, for example:
12) Export/import snapshots
./target/release/taler-node export-state --chain ./taler-dev-raw.json > state.json
./target/release/taler-node import-state --chain ./taler-dev-raw.json state.json
13) Production build tuning - Use production profile for smaller binary:
14) Common issues - WASM errors: reinstall nightly/wasm target (see rust-setup.md). - Windows: use WSL2; native Windows support is limited.