Skip to main content
MAIN CHAIN

Quick Start: Run an ELA Full Node

Time to complete: ~10 minutes to install, 12-48 hours to sync the full chain.

Download and Install

# Create the node directory
mkdir -p ~/node && cd ~/node

# Download the orchestrator script
curl -O https://raw.githubusercontent.com/elastos/Elastos.Node/master/build/skeleton/node.sh
chmod a+x node.sh

# Add to PATH so you can run node.sh from anywhere
./node.sh set_path
source ~/.profile

Initialize

# Initialize ELA main chain
# This will:
# 1. Prompt you to select MainNet or TestNet
# 2. Download the ELA binary from download.elastos.io
# 3. Generate config.json with random RPC credentials
# 4. Create keystore.dat with a secure password
# 5. Save the keystore password to ~/.config/elastos/ela.txt
node.sh ela init

During initialization, you will be prompted to create a keystore password. You can either:

  • Enter a custom password (must be 16+ characters, mixed case, digits, special characters)
  • Press Enter to auto-generate one via openssl rand -base64 100
warning

Save the generated password. It is stored at ~/.config/elastos/ela.txt with mode 600, but you should keep an offline backup.

Start and Verify

# Start the ELA daemon
node.sh ela start

# Verify it's running
node.sh ela status

The status output shows:

ela:
Running: 62831
Version: v0.9.9
Disk: 145 GB
RAM: 2.4 GB
Uptime: 00:05:23
Height: 1,245,320
Peers: 8
BPoS: NotRegistered

Wait for Sync

Initial sync takes 12-48 hours depending on your hardware and network speed. Monitor progress:

# Check current sync height and compare against the network
node.sh ela status

The status output includes the current height. Compare it against the network height shown on blockchain.elastos.io or the height reported by the nodes.elastos.net dashboard.

You can also watch sync progress in real-time:

watch -n 30 'node.sh ela status'

Verify Sync Completion

Your node is synced when node.sh ela status shows a height matching the network. The node is ready for use when the height difference is 5 blocks or fewer.