Elastos Node for Ubuntu v1.1.0
Elastos Node for Ubuntu v1.1.0 is the safety release of the node.sh runner used by Council members, BPoS operators, and full-node operators. It keeps the existing node layout, keystores, chain data, and commands intact, so it is a drop-in replacement that can be adopted on a live Council or BPoS node without moving the keystore or changing chain data.
Highlights
Security
- EVM side-chain RPC and WebSocket now bind to
127.0.0.1by default, with a validated, fail-closedEVM_RPC_BINDoverride for deliberate public exposure. - The local geth account is no longer kept unlocked while mining chains run. Block sealing is unaffected (consensus signs with the PBFT keystore). The
personal,db,admin, andminerRPC namespaces are removed from the reachable surface. - Mining without a cold reward address prints a clear warning at every start;
reward set 0x...configures a cold address across the side chains in one step. update_scriptverifies the published SHA-256 checksum and runs a syntax check before installing.
Firewall and hardening
firewallopens only the peer and consensus ports and detects your SSH port first, so it cannot lock you out.hardencloses the public RPC, WebSocket, and oracle ports and reports any daemon still needing a restart, while leaving the authenticated ELA and arbiter RPC ports for you to manage.
Operations and reliability
summary(one row per chain: state, height, peers, sync),health(exit-code, alert-friendly),status --json,logs [chain] [-f], plusup/down/restart/ps/rpc/version.- A plain
restartnever restarts ELA unless explicitly forced, protecting Council and BPoS consensus during routine maintenance. - Reward checks wait until ELA is synced; dead side-chain RPC values show as unavailable instead of zero; failed starts surface the last log lines; the missing-sponsors stall near block 1.8M is handled at start;
stopis bounded with a clean SIGKILL escalation. - Init is resumable, and the EVM adopt path verifies the keystore password before completing.
Install, migrate, monitor
migrate [--dry-run | --apply]adopts an existing node without touching keystores, chain data, or binaries, writes rollback snapshots, and never restarts ELA.uninstallandeco purge(ECO is decommissioned) are included.- Read-only
monitorpush: reports health over HTTPS with no inbound port and no RPC password, proving the node's role with its on-chain consensus public key.
Installing on a fresh host
mkdir -p ~/node && cd ~/node
# Download the script and verify its checksum
curl -O https://raw.githubusercontent.com/elastos/Elastos.Node/master/build/skeleton/node.sh
curl -O https://raw.githubusercontent.com/elastos/Elastos.Node/master/build/skeleton/node.sh.sha256
sha256sum -c node.sh.sha256
chmod +x node.sh
# Install the dependencies
sudo apt-get install -y jq lsof apache2-utils curl openssl
# Initialize the chains, then open the ports and start.
# Choose the profile when prompted:
# full = Council node (ELA + ESC/EID/PG + oracles + arbiter)
# mainchain = BPoS / validator (ELA main chain only)
node.sh setup
node.sh firewall
node.sh start
node.sh summaryUpgrading
Your node.sh self-updates from this repository:
node.sh update_scriptComing from the original runner, adopt the node afterward (keystores and data preserved, ELA never restarted):
node.sh migrate --dry-run # read-only preview
node.sh migrate # adopt
node.sh migrate --apply # Council only: rebind the side chains, one at a time
node.sh hardenDocumentation
The Command Reference, Migration Guide, Comparison with Upstream, and the full CHANGELOG are in the repository.