Migrate to Nethermind from OpenEthereum
Nethermind (NE) is the primary supported client for Gnosis Chain and node runners should switch to this client from OpenEthereum (OE).
You can either:
  1. 1.
    Create a new, separate VM instance for your node and once it is synced stop your OE instance.
  2. 2.
    Run both OE and NE simultaneously on the same instance until Nethermind is synced.
Instructions for both methods are below.
Additional Notes:
  • Nethermind uses fast sync mode by default. Syncing can take up to 24 hours depending on your setup.
  • ​Hybrid pruning (memory + full) to save disc space is enabled by default and is the recommended setting.
  • Erigon is not yet ready for GC but availability is expected following the Gnosis Chain <-> Gnosis Beacon Chain merge.
  • If you are running a validator node on Gnosis Chain you will need to follow a different set of instructions available here.
OpenEthereum on Ethereum:
  • If your are running OE on Ethereum mainnet it is time to switch clients! Here are basic details on primary implementations along with links to setup and sync a new node. We recommend Nethermind, Erigon or Besu (rather than Geth) to help increase execution layer client diversity on Ethereum. Current client stats.​

1. Clean VM

  1. 1.
  2. 2.
    Install Docker Engine and Docker Compose following the instructions.
  3. 3.
    Clone the repo.
    $ git clone https://github.com/xdaichain/non-validator-ne-node-dockerized
    $ cd non-validator-ne-node-dockerized
  4. 4.
    Start your node.
    $ docker-compose up -d
After docker containers are created, the node will sync with the chain (may take a while).
To restart, use use docker-compose stop and docker-compose start from the non-validator-ne-node-dockerized directory.
Once your Nethermind node is fully synced, stop your OpenEthereum node.

2. Simultaneous VM

  1. 1.
    Go to your VM where the OE node is running.
  2. 2.
    Create a separate folder for your your NE node.
  3. 3.
    If you haven't already,install Docker Engine and Docker Compose following the instructions.
  4. 4.
    Clone the repo.
    $ git clone https://github.com/xdaichain/non-validator-ne-node-dockerized
    $ cd non-validator-ne-node-dockerized
  5. 5.
    Change ports in docker-compose.yml on lines 23-24. This is required since 30303 is in use by OE.
    - "30304:30303"
    - "30304:30303/udp"
  6. 6.
    Start your node.
    $ docker-compose up -d
Once your Nethermind node is fully synced, stop your OpenEthereum node.

Stop your OpenEthereum Node

Instructions vary based on your setup:
  • If you run OpenEthereum in a terminal, CTRL+C will cleanly exit. Make sure to wait a couple of seconds.
  • To stop OpenEthereum started as system service, use systemctl (Linux) or launchctl (macOS):
sudo launchctl stop openethereum
  • Another way is to issue a hang-up (HUP) call for the OpenEthereum client, i.e.:
killall -HUP openethereum
  • If using docker, cd to your directory and docker-compose stop
Once OE is stopped, you can remove the data folder to reclaim disc space.
More information is available on the OpenEthereum wiki.​