Node Operation



If you'd like to run the node with verbose logs, you may add the following arguments during initial setup. Adjust the target for the desired logging level (debug | error | info| trace | warn):

RUST_LOG=runtime=debug ./target/release/<YOUR-NODE-TEMPLATE> --dev

Refer substrate doc (opens in a new tab) for more details

P2P Ports Not Open

If you don't see an "Imported" message (without the [Relaychain] tag), check the P2P port configuration. Ensure the P2P port is open to incoming traffic.

In Sync

Both chains must be in sync at all times. Look for "Imported" or "Idle" messages and ensure you have connected peers.

Genesis Mismatching

If you notice log messages like:

DATE [Relaychain] Bootnode with peer id ID is on a different chain (our genesis: 0x3f5... theirs: 0x45j...)

You may be running an older version and need to upgrade.

Troubleshooting for Apple Silicon users

Homebrew and PATH Configuration

If you haven't installed Homebrew: (opens in a new tab)

/bin/bash -c "$(curl -fsSL"

Make sure Homebrew is up-to-date, install openssl

brew update
brew install openssl

After installation, ensure you've added /opt/homebrew/bin to your PATH:

echo 'export PATH=/opt/homebrew/bin:$PATH' >> ~/.bash_profile


  1. GMP: Ensure the gmp dependency is correctly installed.
brew install gmp
  1. If you're still facing an issue with gmp, adjust your path to the gmp lib:
cargo clean
export LIBRARY_PATH=$LIBRARY_PATH:$(brew --prefix)/lib:$(brew --prefix)/opt/gmp/lib

Add the above export to your bash_profile as well.

  1. Ensure the Protobuf dependency is correctly installed:
brew install protobuf