Skip to content

BuildWithDreams/docker-verusd

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

63 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

verusd

Dockerized verusd — run Verus Protocol blockchain nodes as containers.

Built to image verustrading/verusd:0.1. Update VERUS_VERSION in the Dockerfile when new releases are announced.

Requires Zcash params mounted read-only from host:

/home/<user>/.zcash-params:/root/.zcash-params:ro

⚠️ Important: The zcash-params volume uses ${USER}. If docker-compose runs with sudo, USER becomes root and the mount silently fails. Always run docker-compose as the correct user.

Infrastructure

Docker Networks

Each chain gets its own Docker bridge network. Networks are defined in infrastructure/ and provisioned via Ansible.

IP convention per service (4th octet):

.11  verusd daemon
.12  RPC server
.13  block explorer
.14  ID verification service

Network naming:

net-<chain>-<color>   e.g. net-vrsc-blue, net-vdex-green

Bridge name convention:

br-SP<subnet>   e.g. br-SP1020101 for 10.201.0.0/24

Setup via Ansible

# 1. Provision networks via Ansible
cd provisioning
ansible-playbook -i inventory.ini playbooks/03-docker-networks.yml

# 2. Verify
docker network ls | grep net-
docker network inspect net-vrsc-blue

Manual network creation (without Ansible)

# Create .env file
cat > infrastructure/.env.net-vrsc-blue <<EOF
DOCKER_NETWORK_SUBNET=10.201.0.0/24
BRIDGE_CUSTOM_NAME=SP1020101
DOCKER_NETWORK_NAME=net-vrsc-blue
EOF

# Create network
bash infrastructure/init_network.sh infrastructure/.env.net-vrsc-blue

# Verify
docker network inspect net-vrsc-blue --format 'Name={{.Name}} Subnet={{range .IPAM.Config}}{{.Subnet}}{{end}}'

Chain Configurations

Chain Data dir CLI chain param Notes
vDEX /root/.verus/pbaas/<hex> -chain=vdex PBaaS, hex ID: 53fe39eea8c06bba32f1a4e20db67e5524f0309d
vRSCTEST /root/.komodo/vrsctest -chain=vrsctest -testnet Testnet
VRSC /root/.komodo/VRSC (none) Mainnet

Bootstrap

In each chain's .env:

VERUSD_BOOTSTRAP_FLAG=-bootstrap   # download fresh
VERUSD_BOOTSTRAP_FLAG=             # sync from peers

Use -bootstrap for fresh nodes or after crashes. Empty flag to sync from peers using existing data.

Quick Start

# VRSC mainnet
cd mainnet
docker-compose up -d

# vRSCTEST
cd vrsctest
docker-compose up -d

# vDEX
cd pbaas/vdex
docker-compose up -d

Verus CLI

# Get info
docker exec <container> verus -chain=vdex getinfo

# Testnet requires -testnet flag
docker exec <container> verus -chain=vrsctest -testnet getinfo

# Stop gracefully
docker exec <container> verus -chain=vdex stop

Sync Status

docker exec <container> verus -chain=vdex getinfo | grep -E '"blocks"|"connections"|"VRSCversion"'
docker exec <container> tail -5 /root/.verus/pbaas/<hex>/debug.log

Look for progress=1.000000 in debug.log = fully synced.

Environment Variables

Variable Purpose
DOCKER_NETWORK_NAME Docker network name
DOCKER_NETWORK_SUBNET CIDR subnet
BRIDGE_CUSTOM_NAME Bridge name prefix (br-SP + suffix)
VERUSD_BOOTSTRAP_FLAG -bootstrap or empty
VERUSD_IPV4 Static IP on network (e.g. 10.201.0.11)

About

Dockerized Verus Protocol blockchain nodes. Run vDEX, VRSC, vRSCTEST as containers with Ansible provisioning.

Topics

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Shell 92.3%
  • Dockerfile 7.7%