Prerequisites
Install Dependencies
sudo apt update && sudo apt upgrade -y && sudo apt install curl git wget htop tmux build-essential jq make lz4 gcc unzip -y
Install Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER
newgrp docker
Installation
Clone Repository & Build Docker Image
git clone https://github.com/caltru1sm/raione-node.git
cd $(basename https://github.com/caltru1sm/raione-node)
docker build -t raiblocksone-node .
Initialize Node Data Directory
mkdir -p $HOME/raiblocksone-data
Run Node (Docker)
docker run -d \
--name raiblocksone-node \
-v $HOME/raiblocksone-data:/data \
-p 7075:7075/udp \
-p 7075:7075/tcp \
-p 127.0.0.1:7076:7076 \
raiblocksone-node
Check Node Status
# Check Docker container
docker ps -a | grep raiblocksone-node
# View logs
docker logs -f raiblocksone-node
# Check RPC status
curl -s https://raiblocksone-rpc.codeblocklabs.com/api/v1/version
Explorer
View network activity on the block explorer:
https://nanexplorer.com/raiblocksone
Stop & Remove Node
docker stop raiblocksone-node
docker rm raiblocksone-node
sudo rm -rf $HOME/raiblocksone-data
Download Snapshot
Download the latest ledger snapshot:
wget -O raiblocksone-snapshot.zip https://backup.codeblocklabs.com/raiblocksone/raiblocksone.zip
Restore from Snapshot
Before restoring, stop the node and extract the snapshot into the data directory:
docker stop raiblocksone-node
mv $HOME/raiblocksone-data $HOME/raiblocksone-data.bak
unzip raiblocksone-snapshot.zip -d $HOME/raiblocksone-data
docker start raiblocksone-node
Create Snapshot (CLI)
Stop the node first for a consistent snapshot, then create and restart:
docker stop raiblocksone-node
docker run --rm -v $HOME/raiblocksone-data:/data raiblocksone-node nano_node --snapshot > $HOME/raiblocksone-snapshot.ldb
docker start raiblocksone-node
Automated Snapshot Schedule
Set up a cron job to take daily snapshots:
0 3 * * * docker stop raiblocksone-node && docker run --rm -v $HOME/raiblocksone-data:/data raiblocksone-node nano_node --snapshot > $HOME/raiblocksone-data/snapshots/snapshot-$(date +\%F).ldb && docker start raiblocksone-node
Container Management
View logs
docker logs -f raiblocksone-node
Restart node
docker restart raiblocksone-node
Stop node
docker stop raiblocksone-node
Start node
docker start raiblocksone-node
Rebuild image after update
cd raiblocksone-node
git pull
docker build -t raiblocksone-node .
docker stop raiblocksone-node
docker rm raiblocksone-node
docker run -d --name raiblocksone-node \
-v $HOME/raiblocksone-data:/data \
-p 7075:7075/udp -p 7075:7075/tcp \
-p 127.0.0.1:7076:7076 \
raiblocksone-node
List all containers
docker ps -a
View container resource usage
docker stats raiblocksone-node
Account
Account balance
curl -s -d '{"action":"account_balance","account":"nano_1..."}' https://raiblocksone-rpc.codeblocklabs.com
Account info
curl -s -d '{"action":"account_info","account":"nano_1..."}' https://raiblocksone-rpc.codeblocklabs.com
Account history
curl -s -d '{"action":"account_history","account":"nano_1...","count":10}' https://raiblocksone-rpc.codeblocklabs.com
Account key
curl -s -d '{"action":"account_key","account":"nano_1..."}' https://raiblocksone-rpc.codeblocklabs.com
Account representative
curl -s -d '{"action":"account_representative","account":"nano_1..."}' https://raiblocksone-rpc.codeblocklabs.com
Account weight
curl -s -d '{"action":"account_weight","account":"nano_1..."}' https://raiblocksone-rpc.codeblocklabs.com
Block
Block info
curl -s -d '{"action":"block_info","hash":"..."}' https://raiblocksone-rpc.codeblocklabs.com
Block count
curl -s -d '{"action":"block_count"}' https://raiblocksone-rpc.codeblocklabs.com
Process block
curl -s -d '{"action":"process","json_block":"true","subtype":"send","block":{...}}' https://raiblocksone-rpc.codeblocklabs.com
Network
Available supply
curl -s -d '{"action":"available_supply"}' https://raiblocksone-rpc.codeblocklabs.com
Peers
curl -s -d '{"action":"peers"}' https://raiblocksone-rpc.codeblocklabs.com
Representatives
curl -s -d '{"action":"representatives"}' https://raiblocksone-rpc.codeblocklabs.com
Node version
curl -s -d '{"action":"version"}' https://raiblocksone-rpc.codeblocklabs.com
Network bandwidth
curl -s -d '{"action":"network_bandwidth"}' https://raiblocksone-rpc.codeblocklabs.com
Ledger
Account count
curl -s -d '{"action":"account_count"}' https://raiblocksone-rpc.codeblocklabs.com
Frontiers
curl -s -d '{"action":"frontiers","account":"nano_1...","count":10}' https://raiblocksone-rpc.codeblocklabs.com
Ledger
curl -s -d '{"action":"ledger","account":"nano_1...","count":10,"modified_since":0}' https://raiblocksone-rpc.codeblocklabs.com
Wallet
Wallet balance
curl -s -d '{"action":"wallet_balances","wallet":"..."}' https://raiblocksone-rpc.codeblocklabs.com
Create account in wallet
curl -s -d '{"action":"account_create","wallet":"..."}' https://raiblocksone-rpc.codeblocklabs.com
Daemon
Start daemon
nano_node --daemon
Daemon version
nano_node --version
Help
nano_node --help
Diagnostics
nano_node --diagnostic
Account Management
Create account
nano_node --account_create --wallet=...
List accounts
nano_node --wallet_list
Account info
nano_node --account_info --account=nano_1...
Account key
nano_node --account_key --account=nano_1...
Network & Node
Peers
nano_node --peers
Block count
nano_node --block_count
Node status
nano_node --status
Validate chain
nano_node --validate_chain
Snapshot
nano_node --snapshot
Database
Backup database
nano_node --backup
Database version
nano_node --database_version
Vacuum database
nano_node --vacuum
CodeBlockLabs