Commands
This guide provides a curated list of common commands and Polygon-specific operations essential for node operators. Whether you’re setting up a full node, validator node or troubleshooting, these commands will assist you in managing your Polygon PoS environment effectively.
Frequently used commands¶
Bor¶
To execute Bor IPC commands, use the following syntax:
bor attach .bor/data/bor.ipc <command>
IPC Command | RPC Command | Description |
---|---|---|
admin.peers.length |
curl -H "Content-Type: application/json" --data '{"jsonrpc": "2.0", "method": "net_peerCount", "params": [], "id": 74}' localhost:8545 |
Retrieves the number of peers connected to the node. |
admin.nodeInfo |
Provides detailed information about the node. | |
eth.syncing |
curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "eth_syncing","params": []}' localhost:8545 |
Indicates whether the node is syncing (true ) or not (false ). |
eth.syncing.highestBlock - eth.syncing.currentBlock |
Compares the current block of your node to the highest block. | |
eth.blockNumber |
curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "eth_blockNumber","params": []}' localhost:8545 |
Returns the latest block number processed by the node. |
debug.setHead("0x"+((eth.getBlock('latest').number) - 1000).toString(16)) |
Rewinds the blockchain to 1000 blocks prior. | |
admin.nodeInfo.enode |
Retrieves the public enode URL of the node. | |
eth.syncing.currentBlock * 100 / eth.syncing.highestBlock |
Calculates the remaining percentage for block synchronization. | |
eth.getBlock("latest").number |
curl http://YourIP:8545 -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0", "id":1, "method":"bor_getSigners", "params":["0x98b3ea"]}' |
Queries the height of the latest Bor block. |
curl http://YourIP:8545 -X POST -H "Content-Type: application/json" --data '{"method":"eth_chainId","params":[],"id":1,"jsonrpc":"2.0"}' |
Retrieves the chainID . |
Heimdall¶
Command | Description |
---|---|
curl localhost:26657/net_info? |
Returns the number of connected peers using jq .result.n_peers . |
curl -s localhost:26657/status |
Retrieves Heimdall’s current block height using jq .result.sync_info.latest_block_height . |
curl localhost:26657/net_info |
Queries the node using its moniker with grep moniker . |
curl -s localhost:26657/status |
Checks if Heimdall is in sync using jq .result.sync_info.catching_up . |
curl -s localhost:26657/status |
Verifies Heimdall’s sync status using jq .result \| jq .sync_info . |
heimdalld unsafe-reset-all |
Resets the database in case of issues. |
curl localhost:26657/status |
Provides comprehensive information about Heimdall. |
Node management commands¶
Description | Command |
---|---|
Locate Heimdall genesis file | $CONFIGPATH/heimdall/config/genesis.json |
Locate heimdall-config.toml | /etc/heimdall/config/heimdall-config.toml |
Locate config.toml | /etc/heimdall/config/config.toml |
Locate heimdall-seeds.txt | $CONFIGPATH/heimdall/heimdall-seeds.txt |
Start Heimdall | $ sudo service heimdalld start |
Start Heimdall rest-server | $ sudo service heimdalld-rest-server start |
Start Heimdall bridge-server | $ sudo service heimdalld-bridge start |
Locate Bor genesis file | $CONFIGPATH/bor/genesis.json |
Start Bor | sudo service bor start |
Retrieve Heimdall logs | /var/log/matic-logs/ |
Check Heimdall logs | tail -f heimdalld.log |
Check Heimdall rest-server logs | tail -f heimdalld-rest-server.log |
Check Heimdall bridge logs | tail -f heimdalld-bridge.log |
Check Bor logs | tail -f bor.log |
Useful configuration commands¶
Sync Heimdall status¶
To check if Heimdall is synced, run:
curl http://localhost:26657/status
Latest block height on Heimdall¶
To check the latest block height on Heimdall, run:
curl localhost:26657/status
Latest block height on Bor¶
To check the latest block height on Bor, use:
curl http://<your ip>:8545 -X POST -H "Content-Type: application/json" -d '{"jsonrpc":"2.0", "id":1, "method":"bor_getSigners", "params":["0x98b3ea"]}'
Cleanup: Deleting remnants of Heimdall and Bor¶
For Linux package¶
sudo dpkg -i matic-bor
sudo rm -rf /etc/bor
For binaries¶
sudo rm -rf /etc/bor
sudo rm /etc/heimdall
Terminate Bor process¶
For Linux package¶
ps -aux | grep bor
sudo kill -9 <PID>
For binaries¶
cd CS-2003/bor
bash stop.sh
Retrieve latest peer details¶
To retrieve the latest peer details, run:
bor attach bor.ipc
admin.peers.forEach(function(value){
console.log(value.enode+',')
})
exit
Stop Heimdall and Bor services¶
For Linux packages¶
sudo service heimdalld stop
sudo service bor stop
For binaries¶
pkill heimdalld
pkill heimdalld-bridge
cd CS-2001/bor
bash stop.sh
Remove Heimdall and Bor directories¶
For Linux packages¶
sudo rm -rf /etc/heimdall/*
sudo rm -rf /etc/bor/*
For binaries¶
sudo rm -rf /var/lib/heimdalld/
sudo rm -rf /var/lib/bor