Skip to content
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

Fix xDAI submission #32

Open
wants to merge 1 commit into
base: master
from

Conversation

Projects
None yet
3 participants
@pedrouid
Copy link
Collaborator

pedrouid commented Mar 4, 2019

Technically I've never really formalized what each parameter means and I kinda came up with a system that worked for my api aggregator: https://github.com/pedrouid/ethereum-api

However I hit an issue with how POA network describes xDAI chain as a POA chain named as DAI network, so I've included this in this PR. Let me know what you guys think

@pedrouid pedrouid changed the title Correct xDAI submission Fix xDAI submission Mar 4, 2019

@bmann

This comment has been minimized.

Copy link
Collaborator

bmann commented Mar 4, 2019

Yes this looks fine. Probably useful for us to define each element — essentially, write the “spec” for each label

@ligi

This comment has been minimized.

Copy link
Member

ligi commented Mar 4, 2019

How would you define both fields now?

@ligi

This comment has been minimized.

Copy link
Member

ligi commented Mar 17, 2019

@pedrouid bump

@pedrouid

This comment has been minimized.

Copy link
Collaborator Author

pedrouid commented Mar 18, 2019

The current state of EVM blockchains usually constitute multiple networks. The clients have the same implementation but different networks for different use-cases, most commonly a mainnet and a few testnets.

The relationship between these networks can be very subjective but the developer communities usually identify them as part of an aggregate or cluster. Therefore I think that this is aggregate would define what we call the chain field.

For Ethereum (ETH) we have multiple networks including mainnet, ropsten, rinkeby, kovan and goerli. These are all part of the ETH cluster, therefore they share the chain field ETH denominated by the ticker of the mainnet.

Same thing can be said about the POA network which are all part of a cluster of POA networks used as sidechains for Ethereum. These include core, sokol and xdai, therefore they share the chain field POA.

Hence the same reasoning can be followed for other chains. I know this is not a very technical unambiguous definition but it feels both accurate and practical for the current state of EVM blockchains.

The other fields are in my opinion self explanatory but here are my definitions:

  • name = name of the chain
  • short_name = shortened and lowercase name
  • chain = blockchain cluster ticker
  • network = name of the network related to cluster
  • chain_id = number of the chain id
  • network_id = number of the network id
  • rpc = array of publicly available remote node rpc endpoints

Additionally, I would like to propose an extra field for the chain's native currency denomination, some examples that could be useful in the current list:

Ethereum Mainnet= ETH
Ethereum Ropsten = ropETH
Ethereum Rinkeby = rinETH
Ethereum Classic Mainnet = ETC
Ethereum Classic Testnet = tETC
POA Core = ETH
POA xDAI = xDAI

@pedrouid

This comment has been minimized.

Copy link
Collaborator Author

pedrouid commented Mar 18, 2019

PS - I just realised I "renamed" in the last comment xDAI Chain to POA xDAI.
We should definitely drop the Chain word for starters but should we add POA to its name or would it be inaccurate? cc @ligi @bmann

@ligi

This comment has been minimized.

Copy link
Member

ligi commented Mar 18, 2019

yea - we should drop chain as it is redundant - but I would not add POA

@bmann

This comment has been minimized.

Copy link
Collaborator

bmann commented Mar 18, 2019

POA is type of consensus so shouldn’t need to be in the name.

@ligi

This comment has been minimized.

Copy link
Member

ligi commented Mar 18, 2019

@bmann yes - also how I see it - and we should really have a consensus field - and perhaps we should drop these for it:

chain = blockchain cluster ticker
network = name of the network related to cluster

really unsure what a cluster is in this context

@pedrouid

This comment has been minimized.

Copy link
Collaborator Author

pedrouid commented Mar 19, 2019

POA is type of consensus so shouldn’t need to be in the name.

True but it's also a company/product/community of a network of POA sidechains

@pedrouid

This comment has been minimized.

Copy link
Collaborator Author

pedrouid commented Mar 19, 2019

really unsure what a cluster is in this context

You could define a cluster by how the client dev teams coordinate with each other. ETH core devs coordinate releases with all clients for their own cluster (mainnet, ropsten, rinkeby, kovan, goerli) the POA network devs coordinate releases with all clients for their own cluster (core, sokol, xdai), the ETC core devs coordinate releases with all clients for their own cluster (mainnet, testnet).

Theoretically these are all EVM blockchains but they are separate dev communities with different roadmaps.

I find Blockscout's API endpoints make this clearer and IMO a good pattern to follow:

@bmann

This comment has been minimized.

Copy link
Collaborator

bmann commented Mar 19, 2019

Ah! I would call that ecosystem. And this is useful.

@pedrouid

This comment has been minimized.

Copy link
Collaborator Author

pedrouid commented Mar 19, 2019

I second the definition as ecosystem

@pedrouid

This comment has been minimized.

Copy link
Collaborator Author

pedrouid commented Mar 21, 2019

Should we merge this PR and move this dicussion to a new PR related to issue #26 "Create a Definitions page"

@ligi

This comment has been minimized.

Copy link
Member

ligi commented Mar 21, 2019

I would signal not to merge it

"chain": "POA",
"network": "dai"

does not really make sense to me.

IMHO we should drop chain and network completely and replace by something "consensusType" and perhaps the proposed "ecosystem" (there I am not yet 100% convinced how it would be used but as @bmann thinks it is useful perhaps we add it)

@pedrouid

This comment has been minimized.

Copy link
Collaborator Author

pedrouid commented Mar 21, 2019

I agree that we should rename the chain field to ecosystem before merging but I wouldn't remove it.

Plus I also think that adding the consensusType would be useful 👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.