Migrating from Parity to Core-Geth

Stevan Lohja
etc_core
Published in
3 min readMay 21, 2020

--

Nodes are critical to the infrastructure of the Ethereum Classic ecosystem as they are the fundamental software that provides the Ethereum Classic protocol. If you are providing an Ethereum Classic product or service, then you’re likely operating an Ethereum Classic node. When network features, bug fixes, or improvements are introduced to the network, they are implemented in the protocol providing software. Therefore, it’s important that you are providing an Ethereum Classic service using actively maintained software with dedicated Ethereum Classic support.

Parity Technologies has discontinued development for the Parity Ethereum client and has transitioned to the OpenEthereum project which is now community maintained [1]. With no solidified Ethereum Classic support for Parity & OpenEthereum, we suggest these users migrate to Core-geth.

Core-geth is a fresh fork of the Foundation’s official Go Ethereum client with more features and better security considerations. Core-geth is directly maintained by the ETC Core development team and backed by ETC Labs ensuring long term support for Ethereum Classic.

How to migrate from Parity (OpenEth) to Core-geth?

Alchemy wrote an excellent article explaining 8 steps to migrate from Parity to Geth [4]. Core-geth is just a fork of Ethereum Foundation’s Geth so these steps can be followed for either client.

  1. Remove dependence on Parity specific namespace methods
  2. Remove dependence on Parity specific response fields
  3. Remove dependence on API specific responses for bad requests
  4. Remove dependence on Parity specific error codes
  5. Set up Geth hardware
  6. Set up Geth software
  7. Run application-specific traffic simulations on nodes
  8. Switch over traffic and monitor the service

Can I use Parity Ethereum or OpenEthereum for the Phoenix Hard-fork?

Yes. We understand that many consumers are reliant on Parity Ethereum (OpenEthereum). Thankfully the long-awaited v3.0.0 release of OpenEthereum has Phoenix support. If you must use Parity or OpenEthereum then you can consider the following options for Phoenix.

  • OpenEthereum release v3.0.0 or later [2].
  • Fetch the classic or related testnet chain spec from the OpenEthereum repo and use it with your stable Parity node.
  • Use nightly builds of OpenEthereum. You will notice that the “stable” releases are just a snapshot of the master branch, e.g., https://github.com/openethereum/openethereum/pull/11680/files

Resources:

  1. https://www.parity.io/parity-ethereum-openethereum-dao/
  2. https://github.com/openethereum/openethereum/releases
  3. https://github.com/etclabscore/core-geth/issues/100
  4. https://blog.alchemyapi.io/blog/secure-your-nodes-migrating-from-parity-to-geth

DISCLAIMER This is an emergent and evolving highly technical space. If you choose to implement the recommendations in this post and continue to participate, you should make sure you understand how it impacts you. You should understand that there are risks involved including but not limited to risks like unexpected bugs. By choosing to implement these recommendations, you alone assume the risks of the consequences. This post and recommendations are not a sale of any kind and do not create any warranties of any kind including but not limited to any relating to the Ethereum Classic network or the Ethereum Classic clients referred to herein.

🥚

--

--