One command, or pick your install
New operators can bootstrap a node in a single command. Everyone else: grab a binary, pull the Docker image, or build from source below.
System requirements click to expand
Docker (production)
The canonical XDPoSChain v2.7.0 client, pinned by content-addressable digest.
Docker commandsBuild from source
Reproducible Go builds from the tagged XDPoSChain source — full control, any platform.
Source buildXDPoSChain v2.7.0 canonical
The production consensus client, published to Docker Hub as xinfinorg/xdposchain. Pin by version tag for convenience, or by sha256: digest for reproducibility.
Exposes JSON-RPC on 8545 and P2P on 30303, persisting chaindata to the xdc-data volume. For a validator/masternode setup and environment flags, see the documentation.
Compile XDPoSChain
Clone the tagged source and build with the Go toolchain. Produces the XDC binary in ./build/bin/.
Requires Go 1.21+ and a C compiler. The Go toolchain produces deterministic binaries from identical inputs — compare your sha256sum ./build/bin/XDC against the published image (see verification ↓).
Sync in hours, not days
Skip the full historical sync by importing a recent chaindata snapshot, then let your node catch up to the tip. Mainnet and Apothem testnet snapshots (full & archive) are published and refreshed regularly.
Verify before you run
Every artifact is verifiable. Checksums catch download corruption; matching against the published source/Docker digest is your supply-chain guarantee.
Cross-verify the production client
Confirm the XDC binary inside the Docker image matches its content-addressable digest:
For a locally-built binary, diff your sha256sum ./build/bin/XDC against the image's reported hash. Identical inputs (Go version, source tag, build flags) yield identical output.
After you download
Three natural next steps once you have the binary or image.
Run with Docker
Step-by-step guide — Docker, bare-metal, and managed options. Platform matrix, FAQ and one-command installer.
Run guide →geth RPC compare
Run live JSON-RPC parity checks between your new node and the reference endpoint to confirm correct sync.
RPC compare →