This is part of a 5 part series on Rivet's transition to Cardinal. If you are unfamiliar with Cardinal, we suggest starting with the introduction
As Rivet transitions from our legacy EtherCattle infrastructure to Cardinal, we want to make sure that the transition is as smooth as possible for our customers.
Already, we have been testing a random sample of Rivet queries against Cardinal to ensure that responses are correct and as fast if not faster than the responses from EtherCattle. For these purposes, we define correct to be:
- Non-error responses should have semantically identical JSON. Object keys may be sorted differently, but all keys and values should be the same.
- Error responses should have the same numeric error code.
- Error messages should be at least as clearly descriptive about the error that has occurred.
- RPC methods such as
web3_clientVersion
will reflect that the response is being served by Cardinal rather than Geth.
After testing tens of millions of real-world requests against Cardinal, we are not currently aware of any requests that fall outside this criteria.
Today we start a five phase transition plan from EtherCattle to Cardinal. Each of the following phases will be implemented as we are satisfied by the data from the previous phase that we can enter the next phase without causing problems for customers.
Phase 1
In the first phase, users will be able to opt into Cardinal. On the Plans page of the Rivet dashboard, you will find options to opt into Cardinal for ETH, ETC, or Testnets. Once you opt in, your endpoints will start routing to Cardinal instead of EtherCattle. Should you run into any issues, you will be able to opt out again any time during the first few phases.
Users who opt into Cardinal on the Ethereum Mainnet during this phase will get a bonus 1 million requests each month for the life of their account, as a thank you for helping us test Cardinal.
Phase 2
In the second phase, users will be opted into Cardinal by default on the Rinkeby, Ropsten, and Goerli testnets. Users will still have the option to opt back out of Cardinal and into EtherCattle should they encounter issues with Cardinal.
Phase 3
In the third phase, users will be opted into Cardinal by default on the Ethereum and Ethereum classic networks. Users will still have the option to opt back out of Cardinal and into EtherCattle should they encounter issues with Cardinal.
Phase 4
In the fourth phase we will remove the option to opt out of Cardinal on the testnets. All testnet traffic will be routed to Cardinal instead of our legacy EtherCattle stacks.
Phase 5
In the final phase, we will remove the option to opt out of Cardinal on the Ethereum and Ethereum Classic testnets. All traffic will be routed to Cardinal instead of our legacy EtherCattle stacks. At this time, we will cease to maintain the EtherCattle codebase.
Conclusion
During this transition period, we will be monitoring things closely to make sure users are getting served accurate data in a timely fashion. Should you encounter any issues during the transition, we encourage you to opt out of Cardinal on the Update Plan page of the dashboard and contact support@rivet.cloud immediately with information about the issues you encountered, so we can resolve your issues before moving onto the next phase of the transition.