Blockchain & Web3 Advanced 30 min

How to Run an XDC Network Masternode on IndSoft Bare Metal

Deploy a high-availability validator on the hybrid XDC Network blockchain with enterprise hardware specs

IndSoft Cloud Engineering
Reviewed October 2026
Production Verified Commands

Guide Overview & Architecture Outcome

By following this guide, you will deploy a fully synchronized masternode on the XDC Network blockchain. You will configure the official XinFin docker container, initialize the genesis ledger, and set up 24x7 validator telemetry.

Prerequisites & System Requirements

A high-spec Bare Metal Dedicated Server with at least 8 Cores, 32 GB RAM, 1 TB NVMe SSD, and 1 Gbps unmetered uplink. Recommended: IndSoft Blockchain Bare Metal Node.

1

Prepare Server Environment and Install Dependencies

Install Docker, Git, and essential build utilities on Ubuntu 22.04 or 24.04.

bash · step-1-command.sh
sudo apt update && sudo apt install git curl make gcc -y
Expected System Output:
Packages installed.
2

Clone Official XinFin Node Setup Repository

Clone the XinFin deployment scripts and configure environment parameters.

bash · step-2-command.sh
git clone https://github.com/XinFinOrg/XinFin-Node.git cd XinFin-Node sudo bash install.sh
Expected System Output:
XinFin Node initialized. Starting container...
3

Verify Block Synchronization

Attach to the running XDC client console and inspect current block height vs mainnet.

bash · step-3-command.sh
docker exec -it xinfin-node XDC attach /work/xdcchain/XDC.ipc --exec 'eth.syncing'
Expected System Output:
{ currentBlock: 74218930, highestBlock: 74218930, knownStates: 0, pulledStates: 0, startingBlock: 74200000 }

Check That It Worked (Verification)

Run this quick verification check to confirm your installation is responding properly:

verify-service.sh
docker ps | grep xinfin
Expected Response:
xinfin-node:latest "XDC --datadir /work..." Up 2 hours 0.0.0.0:8545->8545/tcp

Troubleshooting Common Errors

Quick resolutions for frequent setup pitfalls and configuration issues.

Diagnostic Tips
Peer count stays at 0
Ensure port 30303 (TCP and UDP) is open on your firewall and upstream carrier router.
Database corruption during power loss
Always shut down nodes cleanly using docker stop xinfin-node. Utilize battery-backed RAID or UPS on IndSoft Bare Metal.
Memory ballooning
Set Docker container memory limits in your docker-compose file: mem_limit: 28g.