Run a node

A ZP node keeps its own copy of the chain, checks every block and shares it with other nodes. It runs in Docker on Linux, macOS or Windows; a snapshot skips most of the initial sync.

What you need

Processor
1 CPU core
2 or more if you also mine. The node is capped at 1 core by default.
Memory
2 GB RAM
The node is capped at 2 GB. 4 GB total leaves room for the system.
Disk
20 GB free
Chain about 10 GB plus a 5 GB snapshot download. SSD recommended; 40 GB for a server.
Network
Port 9655 TCP
Open inbound so other nodes can connect. Works without it, with fewer peers.

A small cloud server is enough, for example 2 vCPU, 2–4 GB RAM, 40 GB disk on Ubuntu 22.04 or 24.04. Most cloud providers forbid mining; mine only on your own hardware.

Install

Choose your system:

One command (Ubuntu, Debian and most distributions)

curl -fsSL https://raw.githubusercontent.com/alonp1/zenprotocol/node-upgrade-script/scripts/install-node.sh | bash

Installs Docker if it is missing, then does steps 1–5 below. Run it again later to update; the chain data is kept. Options go in front of bash, for example MINER_THREADS=2 bash to mine on your own hardware.

Or step by step

git clone -b node-upgrade-script https://github.com/alonp1/zenprotocol.git
cd zenprotocol
docker compose pull
docker compose run --rm --no-deps --entrypoint /load-snapshot.sh zen-node
docker compose up -d

Needs Git and Docker with the compose plugin (curl -fsSL https://get.docker.com | sudo sh).

What these commands do

  1. Fetch the setup. git clone downloads this community repository: the Docker settings and helper scripts, not the chain.
  2. Get the node image. docker compose pull downloads a ready image (several hundred MB). It holds the official Zen Protocol node release 1.0.13, unchanged, on the Mono 6.12 runtime, with this site added as a seed so the node finds peers. If the download fails, docker compose build builds the same image on your machine from the official release files (a few minutes).
  3. Load a snapshot. The load-snapshot.sh step downloads the newest chain snapshot (about 5 GB), checks its SHA-256, test-extracts it and puts it in the data folder. Snapshots hold chain data only, never a wallet. Without it the node syncs from block 0, which takes days.
  4. Start the node. docker compose up -d runs it in the background and restarts it after a reboot. It is capped at 1 CPU and 2 GB RAM, keeps its data in ./zen-data, opens port 9655 for peers, and keeps its API (port 11567) on this computer only, because the API controls the node's wallet.
  5. Check the sync. curl -s http://127.0.0.1:11567/blockchain/info. The node is synced when blocks equals headers.

Mining, wallets and every setting: full setup guide on GitHub. Seed address of this site: this-site:9655

Snapshot

Loading…

Status of this site's node

Checking…
Block height
–
Chain time
–
Peers of this node
–
Difficulty
–