Proposal: A move to Goerli

infrastructure

#1

All,

I’d like to remove our dependance up on Rinkeby and Rompsten test networks, and move all testing to the Goerli testnet.

Why?

  • syncing these clients is a nightmare. They require constant maintanence from an infrastructure point of view and has two effects: takes time away from whoever is currently on-call in infrastructure monitoring to constantly check bogus alerts and node upkeep, and “crying wolf” with the same people when something actually happens because they assume it is a noisy testnet client.
  • They also cost quite a bit to maintain all these clients. A move to only Goerli would save Status ~$410 USD/month. You can check out the breakdown of clients in this breakdown

What I’d like to know:

  • What work would need to be done in order to make this happen? What do we use these testnets for, and what work would be required to switch to a better performing test network.
  • Do we need to support these in app?
  • Is anyone opposed to this and why?

For those that don’t know, we already have the network up and running with a faucet that has a ton of funds in it. It follows the same methodology of the other test networks, but doesn’t require much of anything to host.


#2

The technical side of this has been kinda discussed here:


One thing that we needed to do is deploy the SNT contract, which @ricardo3 said he would, but not sure if he had the time to get around to it.

From what I understand the bulk of the work required would be in making the App be able to make use of Goerli network.


#3

One of the largest benefit of supporting Ropsten is the faucet which gives ability to automate wide scope of tests related to transactions: sending/receiving of ETH/tokens, transacting in Dapp, transaction history

In order to switch to Goerli we need:

  1. To have faucet in Goerli. Already DONE!

  2. To have several ERC20 contracts, including Status test contract, with different decimals deployed to Goerli network.

  • STT with 18 decimals

  • one token with no decimals

  • one token with 2 decimals

  • one token with 8 decimals

  1. Add these tokens with different decimals in the ‘Default tokens’ list of Status app under Goerli network.

We also depend from SimpleDApp (https://status-im.github.io/dapp/ ) for DApp testing and faucets under test network. Once we have three items above done we’ll need to update SimpleTestDApp too. I may need help from devs to update some items there (hope @andrey/@julien can support with it). So:

  1. Update https://github.com/status-im/status-dapp to support Goerli

  2. Update e2e tests to use Goerli (includes changing of DEFAULT_NETWORK in .e2e.env)

  3. Remove our dependance up on Rinkeby and Ropsten. But I’m not sure with the reason why not to not support these in-app (we still may use these networks for tests, plus, for instance, I’ve seen some Dapps support Rinkeby which may be handy, again, to test).