Skip to content
This repository has been archived by the owner on Apr 6, 2020. It is now read-only.

Add goerli support #31

Merged
merged 2 commits into from
Nov 27, 2018
Merged

Add goerli support #31

merged 2 commits into from
Nov 27, 2018

Conversation

holgerd77
Copy link
Member

Closes #29.

@holgerd77
Copy link
Member Author

I think once this is generally ok, we should rather quickly merge and do a minor or so release, just to be able to start experimenting with this a bit.

Then we can on top have discussions around changes on the genesis file format. My first (second thought :-)) impression here is also that we should iterate quickly, since we do lot of things different here and we should probably quickly start changes the ones obviously adoptable since this will also ease further discussion around this and avoid confusion and getting lost by not seeing the pattern left for a substantial discussion.

@coveralls
Copy link

coveralls commented Nov 24, 2018

Pull Request Test Coverage Report for Build 114

  • 2 of 2 (100.0%) changed or added relevant lines in 1 file are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.04%) to 95.946%

Totals Coverage Status
Change from base Build 103: 0.04%
Covered Lines: 129
Relevant Lines: 133

💛 - Coveralls

tests/chains.js Outdated Show resolved Hide resolved
@holgerd77
Copy link
Member Author

My idea here for going on would be:

  1. Open a PR from the client library including this PR as a dependency and see if we can connect to Goerli, I can do this in the coming days, but @vpulim feel also free if you are interested or anyone else
  2. Do a minor release here
  3. Further experiment with Goerli, let thinks "ripen"
  4. Articulate some of our needs and ideas for a common genesis format over on the EIP
  5. Integrate here as much as possible, do a breaking release

@vpulim
Copy link
Contributor

vpulim commented Nov 26, 2018

@holgerd77 Before we can connect to the goerli testnet, the hash and stateRoot fields must be correctly filled in. The client can compute these via the --params flag from a geth genesis state file (https://github.com/goerli/testnet/blob/master/geth/goerli.genesis). I'll try to grab these values later today and post back.

chains/goerli.json Outdated Show resolved Hide resolved
chains/goerli.json Outdated Show resolved Hide resolved
@holgerd77
Copy link
Member Author

Ok, did all the requested changes respectively accepted the suggestions, squashed the commits and force-pushed.

@holgerd77
Copy link
Member Author

@vpulim Will you do a live-test of this (or have you already)?

@vpulim
Copy link
Contributor

vpulim commented Nov 26, 2018

Blocks are downloading!

./bin/cli.js --datadir goerli --network goerli
INFO [11-26|15:01:20] Data directory: goerli/goerli/ethereumjs/chaindata
INFO [11-26|15:01:20] Initializing Ethereumjs client...
INFO [11-26|15:01:20] Fast sync mode
INFO [11-26|15:01:20] Connecting to network: goerli
INFO [11-26|15:01:20] Latest local block: number=0 td=1 hash=fa57319d...
INFO [11-26|15:01:20] Synchronizing blockchain...
INFO [11-26|15:01:20] Listener up transport=rlpx url=enode://010e1eacedb6f82c8d3819cdf34fbc46d73391925bd5f281aa7310b340986ed8f0692aadf5d467f0f264872ee2b1314cfb1ce1b1bd5bbcc39dac8454520239e8@[::]:30303
INFO [11-26|15:01:23] Listener up transport=libp2p url=/ip4/127.0.0.1/tcp/50505/ipfs/QmeRX39Y4sxbcwN4F1BGntUP9ff3kvJmEiq1ReNUT1Ecqv
INFO [11-26|15:01:23] Listener up transport=libp2p url=/ip4/127.0.0.1/tcp/50580/ws/ipfs/QmeRX39Y4sxbcwN4F1BGntUP9ff3kvJmEiq1ReNUT1Ecqv
INFO [11-26|15:01:23] Found fast peer: id=573b6607 address=52.56.136.200:30303 transport=rlpx protocols=eth
INFO [11-26|15:01:23] Found fast peer: id=46add44b address=94.237.54.114:30313 transport=rlpx protocols=eth
INFO [11-26|15:01:32] Using origin peer: id=573b6607cd59f241e30e4c4943fd50e99e2b6f42f9bd5ca111659d309c06741247f4f1e93843ad3e8c8c18b6e2d94c161b7ef67479b3938780a97134b618b5ce address=52.56.136.200:30303 transport=rlpx protocols=eth height=92921
INFO [11-26|15:01:33] Imported blocks count=128 number=1 hash=569f8f70...
INFO [11-26|15:01:34] Imported blocks count=128 number=129 hash=56141179...
INFO [11-26|15:01:35] Imported blocks count=128 number=257 hash=9776dec1...
INFO [11-26|15:01:35] Imported blocks count=128 number=385 hash=a9c41745...
INFO [11-26|15:01:36] Imported blocks count=128 number=513 hash=5ff28f69...
INFO [11-26|15:01:37] Imported blocks count=128 number=641 hash=694aab6c...
INFO [11-26|15:01:37] Imported blocks count=128 number=769 hash=512ec5ec...
INFO [11-26|15:01:38] Imported blocks count=128 number=897 hash=2476677a...
INFO [11-26|15:01:38] Imported blocks count=128 number=1025 hash=15ee9150...

@vpulim
Copy link
Contributor

vpulim commented Nov 26, 2018

Also, discovered a new issue during the process of calculating the stateRoot: #32

Copy link
Contributor

@vpulim vpulim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Unless you also wanted to fix the genesisState addresses so that they are prefixed with '0x' (see #32)

@holgerd77 holgerd77 merged commit d110f68 into master Nov 27, 2018
@holgerd77 holgerd77 deleted the add-goerli-support branch November 27, 2018 13:07
@holgerd77 holgerd77 mentioned this pull request Nov 28, 2018
@5chdn
Copy link

5chdn commented Dec 4, 2018

Cool!

What genesis format are you using here?

Also, please note that we are going to reset the testnet as soon as Parity integration is done (we are still in pre-testnet stage).

@vpulim
Copy link
Contributor

vpulim commented Dec 5, 2018

@5chdn ethereumjs/ethereumjs-common uses a custom JSON format for encoding genesis params. However, ethereumjs/ethereumjs-client can also load a geth genesis format file via the --params option. But since this format doesn't include bootnodes, they must be specified via an additional parameter.

I am planning to also support parity's chain spec format in the future since I believe it is the easiest to use from an end-user perspective (requires specifying only a single file to load genesis params, bootnodes and initial state), unless EIP-1085 ends up incorporating all of these as well.

@5chdn
Copy link

5chdn commented Feb 4, 2019

Just checking in, did you update to the real goerli testnet we launched last week?

@holgerd77
Copy link
Member Author

@5chdn Ah sorry, very likely not, no one really closely followed apart from happily taking note 😄, will re-check on the configuration during the next days.

@holgerd77 holgerd77 mentioned this pull request Feb 5, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants