etclabscore / core-geth

A highly configurable Go implementation of the Ethereum protocol.
https://etclabscore.github.io/core-geth
GNU Lesser General Public License v3.0
277 stars 153 forks source link

Review supported networks #288

Open iquidus opened 3 years ago

iquidus commented 3 years ago

Review currently supported networks.

Phase 1: review existing supported chains, remove any that no longer make sense. Phase 2: explore adding support for additional chains, start by looking at current pools/services using core-geth for direction (what other networks do they also run pools for?)

iquidus commented 3 years ago

Existing network support:

                                           Ethereum network: pre-configured Ethereum Mainnet
  --classic                            Ethereum Classic network: pre-configured Ethereum Classic mainnet
  --mordor                           Mordor network: Ethereum Classic's cross-client proof-of-work test network
  --social                             Ethereum Social network: pre-configured Ethereum Social mainnet
  --mix                                 MIX network: pre-configured MIX mainnet
  --ethersocial                     Ethersocial network: pre-configured Ethersocial mainnet
  --rinkeby                           Rinkeby network: pre-configured proof-of-authority test network
  --kotti                                Kotti network: cross-client proof-of-authority test network
  --goerli                              Görli network: pre-configured proof-of-authority test network
  --yolov2                            YOLOv2 network: pre-configured proof-of-authority shortlived test network.
  --ropsten                           Ropsten network: pre-configured proof-of-work test network

The yolo networks are somewhat pointless for us, however removing adds more future burden than keeping. classic, mordor, kotti, ethereum, rinkeby, ropsten & goerli are obvious keepers.

This leaves social, mix, and ethersocial.

mix: Looking for peers......... social: Looking for peers....... ethersocial: website/roadmap appear to have 0 updates since 2019, however it starts syncing.

Personally I'm not familiar with these networks, are they worth keeping? (at first glance I lean towards nope).

iquidus commented 3 years ago

Ethash networks according to whattomine. These will be the easiest additional networks to support due to being ethash or minor ethash variants (similar to etchash). Adding support for everything however wouldnt make much sense (added burden), where to draw the line? Info gathered using github/gitlab links from coingecko.

Ethereum (ETH) - already supported Classic (ETC) - already supported Ubiq (UBQ) - active, uses ubqhash (minor changes to DAG generation) https://github.com/ubiq Dubaicoin (DBIX) - no github updates since 2018 (https://github.com/dubaicoin-dbix) Metaverse (ETP) - looks active (https://github.com/mvs-org) Expanse (EXP) - no github updates since 2018 (https://github.com/expanse-project?tab=repositories) QuarkChain (QKC) - Appears to have become an ERC20 on ETH at some point. Ellaism (ELLA) - Appears somewhat active https://github.com/ellaismproject Callisto (CLO) - Appears somewhat active https://github.com/EthereumCommonwealth Ether-1 (ETHO) - Appears active https://github.com/Ether1Project EtherGem (EGEM) - Appears somewhat active https://gitlab.com/ethergem EtherSocial (ESN) - already supported

q9f commented 3 years ago

removing yolo would be useless as this will happen upstream anyways

think we can remove social and mix and so on

we should not add new networks, unless we want to become a multigeth

meowsbits commented 3 years ago

One of the fundamental principles of core-geth is that it can support a variety of networks. The changes we've made (though motivated primarily in support of ETC) have all been done with a view toward the "generically applicable," at least as far as the code design goes.

For which networks core-geth should maintain baked-in support for, I would offer heuristics of

As a sidenote, core-geth is a multi-geth iteration, which itself is actually originally an Ellaism project.

The networks noted above (Mix, Social, and Ethersocial) core-geth originally inherited from multi-geth. I'm OK with removing them now for the reasons/state of affairs given above.

meowsbits commented 3 years ago

@iquidus Is it possible that Mix and Social are still alive chains, but the bootnodes we have for them are out of date?

I'm not saying this is necessarily a good reason for keeping them (since their configurations not being maintained by them here has resulted in their degraded useability), but mostly just curious if its worth it and even possible to get ahold of someone at those chains and gauge interest in continued support here.

iquidus commented 3 years ago

related PR: #362

ziogaschr commented 3 years ago

https://github.com/etclabscore/core-geth/issues/288#issuecomment-788354353 is a valid concern.

I just wanted to trigger the discussion with @iquidus and @meowsbits in order to decide what do we want and then close this issue.

With regards MIX, I found that they are not running they own blockchain any more but they run as a substrate on Polkadot. here

meowsbits commented 3 years ago

I am OK removing support for them. I haven't heard from them ever, and without input and support from anyone in their communities it's beyond our scope at this point.

ziogaschr commented 3 years ago

@iquidus feel free to close it if you agree.