Set Up Your Elastos DAO Council Node
You won a seat on the Elastos DAO Council. This is the complete install — deploy the full ecosystem with Elastos Node for Ubuntu (node.sh), then claim the node on-chain under your council DID. Install the OS packages, initialize the chains with node.sh setup, then open the peer/consensus ports with node.sh firewall — it detects your SSH port and asks before enabling the firewall, and the RPC always stays on 127.0.0.1.
For council members running the full ecosystem (ELA, ESC, EID, PG, Arbiter). Running a community BPoS validator instead? See Set Up a BPoS Supernode.
- Who: Newly seated council members
- How long: ~30 min hands-on, plus 3–7 days of background chain sync
- End state: A live full supernode claimed under your council DID, joining the active validator set
Requirements
- Ubuntu 22.04 LTS or newer (Ubuntu only — not Debian, CentOS, RHEL, or Arch)
- 8+ CPU cores (dedicated, not shared/burstable), 48+ GB RAM, 1 TB SSD/NVMe
- Your council DID and root/sudo access
Fewer than 8 cores? Read this first
setup initializes every chain in parallel, which saturates a small CPU and can time out. Initialize one at a time instead — ~/node/node.sh ela init, then esc, eid, pg, arbiter. Under-spec hardware will still struggle to keep up with the network; treat it as temporary.
- Quick install (commands only)
- Detailed walkthrough
# 1. Install the runner (downloads to ~/node, checksum-verified)
curl -fsSL https://raw.githubusercontent.com/elastos/Elastos.Node/master/build/skeleton/install.sh | bash
# 2. Install the packages node.sh needs
sudo apt-get install -y jq lsof apache2-utils curl openssl
# 3. Initialize the full stack. Choose the 'full' profile. Press Enter for auto keystore
# passwords. At each "Miner Address" prompt, paste your own cold EVM address — skipping
# it sends rewards to a local account you can lose with the server.
# (Change one later with: ~/node/node.sh reward set 0x<your-cold-address>)
~/node/node.sh setup
# 4. Host prep: swap headroom, open ports (SSH-safe: detects your SSH port, asks first),
# and autostart on reboot
~/node/node.sh swap
~/node/node.sh firewall
~/node/node.sh set_cron
# 5. Start, then report status to the council monitor (outbound — no ports opened)
~/node/node.sh start
~/node/node.sh monitor monitor.elastos.io
# 6. Watch sync (3–7 days). Claim only once every chain is at network height.
~/node/node.sh health
Claim in Essentials (after full sync): run ~/node/node.sh ela status --verbose, copy the Public Key (66-char hex), then in Essentials → Elastos Council open "The election has ended (View)", tap the binding button, paste the key, and Confirm.
The manual path — place node.sh yourself and run the steps. (The Quick install tab runs the same commands, just bundled with the one-line installer.)
# packages node.sh needs
sudo apt-get update && sudo apt-get install -y jq lsof apache2-utils curl openssl
# download the runner
mkdir ~/node && cd ~/node
curl -O https://raw.githubusercontent.com/elastos/Elastos.Node/master/build/skeleton/node.sh
chmod a+x node.sh
~/node/node.sh init # pick the network; paste YOUR OWN EVM address at each reward prompt
~/node/node.sh swap # optional: 16G swap headroom for the initial sync
~/node/node.sh firewall # detects your SSH port, asks before enabling — RPC stays on 127.0.0.1
~/node/node.sh set_cron # restart on reboot + log compression
~/node/node.sh start
~/node/node.sh health # watch sync (3–7 days)
~/node/node.sh monitor monitor.elastos.io # report status to the council monitor
Paste your own EVM address at each side-chain reward prompt — skip it and rewards go to a server-local account you lose with the box. Change it later: ~/node/node.sh reward set 0x<cold-address>.
Claim (after full sync): run ~/node/node.sh ela status --verbose, copy the Public Key (66-char hex), then in Essentials → Elastos Council open "The election has ended (View)", tap the binding button, paste the key, and Confirm.
Keeping the node current
~/node/node.sh update_script # update node.sh (checksum-verified)
~/node/node.sh update # update the chain binaries
Important notes
Uptime matters. If 1/3 of council nodes can't run normally, ESC and EID can't finalize cross-chain transactions without a quorum. Missed arbiter rounds are visible on-chain and count against you in the next election.
Switching servers. Sync the new server fully, then repoint the council seat during a low-activity window.
Related
- Run for the Council · Vote in a Council Election
- Council Member Guide · BPoS Supernode Operations · Jailing & Slashing
- Set Up a BPoS Supernode — community validator path (mainchain only)