New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introduce concept of 'test' and 'main' Ethereum networks #2470

Closed
ulope opened this Issue Sep 13, 2018 · 1 comment

Comments

Projects
None yet
2 participants
@ulope
Collaborator

ulope commented Sep 13, 2018

Abstract

We keep a list of well-known Ethereum networks, their IDs and the deployed contract addresses in the Raiden client.
We should add a flag to each network that indicates whether the network is a 'test' or 'main' one.

Motivation

This came out of our discussion about security issues.

We need this flag to be able to en-/disable certain features that are desirable for debugging but have an impact on security or performance.
Those features currently are:

  • [Matrix] is_public flag on Rooms
  • [Matrix] e2e encryption (only after red eyes)
  • [WebUI / Core] Allow registering new tokens
  • [WebUI / Core] Deposit / channel limits

Specification

Tasks:

  • Add a type parameter (values test and main) (suggestions for better names welcome) to the list of well-known Ethereum networks
  • Add a CLI option --network-type to allow unknown networks to be marked as test networks. This option must not be able to override a network marked as main in the well-known list with test. The other way around (i.e. setting a test network to main) is fine and useful for testing.
  • Switch the features described under Motivation depending on the value (only those that are currently implemented
  • Switch the Unrecoverable Errors to logging instead of crashing the node if we are on the mainnet
  • Add changelog entry
@LefterisJP

This comment has been minimized.

Collaborator

LefterisJP commented Sep 14, 2018

We should also conditionally add these to the features enabled on testnets:

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment