Running a Node
This guide explains how to run an Orbinum node in development, testnet, or production modes.
Table of Contents
Node Modes
| Mode | Purpose | Persistence | Network |
|---|---|---|---|
| Development | Local testing | Temporary | Solo |
| Testnet | Integration testing | Persistent | Multi-node |
| Production | Mainnet | Persistent | Multi-node |
Development Node
The fastest way to start testing:
./target/release/orbinum-node --dev --tmp
Flags Explained
| Flag | Description |
|---|---|
--dev | Use development chain spec with pre-funded accounts |
--tmp | Store data in temporary directory (cleared on restart) |
Development Accounts
The --dev flag provides pre-funded accounts:
| Account | Address | Balance |
|---|---|---|
| Alice | 5GrwvaEF... | 1,000,000 ORB |
| Bob | 5FHneW46... | 1,000,000 ORB |
| Charlie | 5FLSigC9... | 1,000,000 ORB |
Enable RPC
./target/release/orbinum-node \
--dev \
--tmp \
--rpc-cors all \
--rpc-methods Unsafe \
--rpc-external
Enable Ethereum RPC
./target/release/orbinum-node \
--dev \
--tmp \
--rpc-cors all \
--rpc-external \
--ethapi=debug,trace,txpool
Testnet Node
Join Existing Testnet
./target/release/orbinum-node \
--chain testnet \
--name "MyNode" \
--base-path /data/orbinum \
--rpc-cors all
Docker Deployment
Start a testnet node using Docker:
cd docker/testnet
docker-compose up -d
View logs:
docker-compose logs -f
Stop node:
docker-compose down
Manual Multi-Node Setup
Or configure multiple nodes manually:
Node 1 (Bootnode):
./target/release/orbinum-node \
--chain local \
--alice \
--base-path /tmp/alice \
--port 30333 \
--rpc-port 9944
Node 2:
./target/release/orbinum-node \
--chain local \
--bob \
--base-path /tmp/bob \
--port 30334 \
--rpc-port 9945 \
--bootnodes /ip4/127.0.0.1/tcp/30333/p2p/<ALICE_PEER_ID>
Production Node
Validator Node
./target/release/orbinum-node \
--chain mainnet \
--validator \
--name "MyValidator" \
--base-path /data/orbinum \
--rpc-methods Safe \
--rpc-cors all
Archive Node
Store complete blockchain history:
./target/release/orbinum-node \
--chain mainnet \
--pruning archive \
--base-path /data/orbinum-archive
RPC Node
Public RPC endpoint:
./target/release/orbinum-node \
--chain mainnet \
--rpc-external \
--rpc-cors all \
--rpc-methods Safe \
--rpc-max-connections 1000
Configuration
Command Line Flags
| Flag | Description | Default |
|---|---|---|
--chain | Chain specification | dev |
--base-path | Data directory | Platform-specific |
--port | P2P port | 30333 |
--rpc-port | RPC port | 9944 |
--ws-port | WebSocket port | 9944 |
--validator | Enable validation | false |
--pruning | State pruning mode | 256 blocks |
--name | Node name | Random |
RPC Configuration
| Flag | Description |
|---|---|
--rpc-external | Listen on all interfaces |
--rpc-cors | CORS origins (use all for dev) |
--rpc-methods | Safe, Unsafe, or Auto |
--rpc-max-connections | Max concurrent connections |
Logging
# Increase verbosity
RUST_LOG=debug ./target/release/orbinum-node --dev
# Specific module logging
RUST_LOG=pallet_shielded_pool=trace ./target/release/orbinum-node --dev
# Log to file
./target/release/orbinum-node --dev 2>&1 | tee node.log
Systemd Service
For production deployments:
# /etc/systemd/system/orbinum.service
[Unit]
Description=Orbinum Node
After=network.target
[Service]
Type=simple
User=orbinum
ExecStart=/usr/local/bin/orbinum-node \
--chain mainnet \
--base-path /data/orbinum \
--validator \
--name "MyValidator"
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
Enable and start:
sudo systemctl enable orbinum
sudo systemctl start orbinum
sudo systemctl status orbinum
Monitoring
Prometheus Metrics
./target/release/orbinum-node \
--dev \
--prometheus-port 9615 \
--prometheus-external
Access metrics at http://localhost:9615/metrics
Health Check
curl -H "Content-Type: application/json" \
-d '{"id":1, "jsonrpc":"2.0", "method": "system_health", "params":[]}' \
http://localhost:9944
Response:
{
"jsonrpc": "2.0",
"result": {
"peers": 5,
"isSyncing": false,
"shouldHavePeers": true
},
"id": 1
}
Next Steps
- Quick Start - First transaction
- Wallet CLI - Privacy operations