Network Topology
Port Allocation
ELA Main Chain Node
| Port | Protocol | Service |
|---|---|---|
| 20338 | TCP | P2P network (block/tx propagation, peer discovery) |
| 20339 | TCP | DPoS P2P (validator proposal/vote/confirm messages) |
| 20333 | HTTP | Node info web page |
| 20334 | HTTP | REST API |
| 20335 | WS | WebSocket notifications |
| 20336 | HTTP | JSON-RPC |
ESC (Elastos Smart Chain) Node
| Port | Protocol | Service |
|---|---|---|
| 20638 | TCP | P2P (devp2p, Ethereum-style) |
| 20636 | HTTP | JSON-RPC |
| 20632 | WS | WebSocket |
EID (Elastos Identity Chain) Node
| Port | Protocol | Service |
|---|---|---|
| 20648 | TCP | P2P (devp2p) |
| 20646 | HTTP | JSON-RPC |
| 20642 | WS | WebSocket |
Carrier v2
| Port | Protocol | Service |
|---|---|---|
| 39001 | UDP | Kademlia DHT messages |
| 39002 | TCP | Active Proxy relay |
Arbiter
The Arbiter daemon exposes its own ports and communicates with other chain nodes:
| Port | Protocol | Purpose |
|---|---|---|
| 20536 | TCP | Arbiter JSON-RPC |
| 20538 | TCP | Arbiter REST / P2P |
- Outbound to ELA main chain node via JSON-RPC (port 20336)
- Outbound to ESC/EID nodes via JSON-RPC (ports 20636/20646)
- P2P via the DPoS P2P network (port 20339)
JSON-RPC Endpoints (ELA Main Chain)
Node Management
| Method | Description |
|---|---|
setloglevel | Change log verbosity |
getinfo | Node info (height, version, connections) |
getnodestate | Connected peer details |
getneighbors | List neighbor addresses |
getconnectioncount | Number of connected peers |
Block Queries
| Method | Description |
|---|---|
getblock | Get block by hash |
getblockbyheight | Get block by height |
getcurrentheight | Current chain height |
getblockhash | Hash for a given height |
getbestblockhash | Tip block hash |
getblockcount | Total block count |
getconfirmbyheight | DPoS confirm at height |
getconfirmbyhash | DPoS confirm by hash |
Transaction Operations
| Method | Description |
|---|---|
getrawtransaction | Get tx by hash (raw or verbose) |
getrawmempool | List mempool transactions |
sendrawtransaction | Broadcast signed transaction |
gettransactionbyheight | All txs in a block |
decoderawtransaction | Decode raw tx hex |
Wallet / UTXO
| Method | Description |
|---|---|
getreceivedbyaddress | Total received by address |
getutxosbyamount | Find UTXOs for spending |
listunspent | List unspent outputs |
getamountbyinputs | Total value of inputs |
getbalancebyaddr | Address balance |
getunspends | Unspent outputs for address |
createrawtransaction | Build unsigned transaction |
signrawtransactionwithkey | Sign transaction |
Mining / AuxPoW
| Method | Description |
|---|---|
createauxblock | Create aux block for merged mining |
submitauxblock | Submit solved aux block |
getmininginfo | Mining statistics |
togglemining | Start/stop internal miner |
discretemining | Mine specific number of blocks |
BPoS / Validators
| Method | Description |
|---|---|
listproducers | All registered producers + votes |
getproducerinfo | Specific producer details |
producerstatus | Producer registration status |
getarbitratorgroupbyheight | Active arbiters at height |
getarbitersinfo | Current arbiter details |
getarbiterpeersinfo | DPoS P2P peer info |
votestatus | Voting statistics |
getdepositcoin | Producer deposit info |
BPoS / Staking
| Method | Description |
|---|---|
getalldetaileddposv2votes | Detailed v2 vote info |
getvoterights | Voter's rights by address |
dposv2rewardinfo | V2 BPoS voter reward info |
getdposv2info | BPoS system info |
estimatesmartfee | Fee estimation |
Elastos DAO
| Method | Description |
|---|---|
listcrcandidates | All Elastos Council candidates |
listcurrentcrs | Current Elastos Council members |
listnextcrs | Next term Elastos Council members |
listcrproposalbasestate | Proposal states |
getcrproposalstate | Specific proposal state |
getproposaldraftdata | Proposal draft data |
getsecretarygeneral | Current secretary general |
getcrrelatedstage | Elastos Council voting/election stage |
getcommitteecanuseamount | Available Elastos DAO funds |
getcrdepositcoin | Elastos Council member deposit info |
Cross-Chain
| Method | Description |
|---|---|
getexistwithdrawtransactions | Pending withdrawals |
getexistreturndeposittransactions | Return deposits |
submitsidechainillegaldata | Report sidechain fraud |
getsmallcrosstransfertxs | Small cross-chain txs |
getcrcpeersinfo | Elastos Council arbiter P2P info |
getcrosschainpeersinfo | Cross-chain peer info |
getregistertransactionsbyheight | Sidechain registrations |
NFT
| Method | Description |
|---|---|
getcandestroynftids | NFTs eligible for destruction |
getnftinfo | NFT information |
ESC/EID RPC
ESC and EID expose standard Ethereum JSON-RPC methods (eth_*, net_*, web3_*) plus custom methods:
ESC-specific:
| Method | Description |
|---|---|
sendrechargetransaction | Process deposit from main chain (by tx hash) |
sendsmallcrosstransaction | Process small cross-chain deposit |
getwithdrawtransactionsbyheight | Scan for withdraw txs at height |
getexistdeposittransactions | Check existing deposits |
getfaileddeposittransactions | Get failed deposits |
getillegalevidencebyheight | Get illegal evidence at height |
getnftdestroytransactionsbyheight | Scan for NFT destroy txs |
createauxblock | Create aux block for merged mining |
submitsideauxblock | Submit merged mining proof |
EID-specific:
| Method | Description |
|---|---|
did_resolveDID | Resolve a DID to its document |
did_listDIDs | List published DIDs |
DNS Seeds (Mainnet)
ELA Main Chain:
192.0.2.10:20338
192.0.2.11:20338
192.0.2.12:20338
192.0.2.13:20338
Hive Node API
Base URL: https://<hive-node>/api/v2/
| Prefix | Purpose |
|---|---|
/did/signin | DID authentication initiation |
/did/auth | DID authentication completion |
/vault/db/* | Database operations (MongoDB) |
/vault/files/* | File operations (IPFS) |
/vault/scripting/* | Script registration and execution |
/vault/backup/* | Backup and migration |
/payment/* | Payment order management |
/subscription/* | Vault subscription management |
/provider/* | Node operator admin |
/about | Node version and info |