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

Eth1 Integration #542

Merged
merged 255 commits into from Nov 15, 2019

Conversation

@paulhauner
Copy link
Member

paulhauner commented Sep 25, 2019

Issue Addressed

Proposed Changes

  • Add functions to connect to an eth1 node to get relevant the Eth1Data using the web3 crate.
  • Add get_eth1_vote function to determine new state for Beacon chain state.eth1_data using the above data.
  • Addresses a bunch of clippy lints across the entire project.
    • There are also quite a few modifications from rustfmt
  • Allows the genesis Fork to be defined in ChainSpec.
  • Ensures the Fork for verifying Deposit is always a constant [0, 0, 0, 0].
    • Removes some unnecessary parameters from the deposit SignatureSet.
  • Unifies the beacon_node and validator_client into a single ligyhthouse binary.
    • Introduces the concept of an Environment and a Context, which provide access to tokio and logging.
  • Adds basic framework for testing a BeaconNode in-process
    • Allows for services to be started on port 0 (i.e., let the OS choose a free port) and read which port was actually used.
pawanjay176 added 30 commits Aug 6, 2019
…ixes

* Fix update_cache function
* Move fetch_eth1_data to impl block
* Fix deposit tests
* Add `run` function for running update_cache and subscribe_deposit_logs tasks
* Add logging
paulhauner added 7 commits Nov 12, 2019
@paulhauner paulhauner marked this pull request as ready for review Nov 12, 2019
@paulhauner

This comment has been minimized.

Copy link
Member Author

paulhauner commented Nov 12, 2019

This is finally ready for review!

paulhauner added 2 commits Nov 12, 2019
@michaelsproul michaelsproul self-requested a review Nov 13, 2019
Copy link
Member

michaelsproul left a comment

Woah that's a lotta code. I think I've reviewed the most important parts thoroughly, and I've had a skim through the other parts.

I only found a few typos and nitpicks, no major changes. Happy to merge once they're addressed

Nice work!

beacon_node/beacon_chain/src/eth1_chain.rs Outdated Show resolved Hide resolved
beacon_node/eth1/src/block_cache.rs Outdated Show resolved Hide resolved
beacon_node/eth1/src/deposit_cache.rs Outdated Show resolved Hide resolved
beacon_node/eth1/src/deposit_log.rs Outdated Show resolved Hide resolved
beacon_node/eth1/src/block_cache.rs Outdated Show resolved Hide resolved
beacon_node/eth1/src/deposit_cache.rs Outdated Show resolved Hide resolved
beacon_node/eth1/src/service.rs Outdated Show resolved Hide resolved
paulhauner added 2 commits Nov 14, 2019
Copy link
Member

michaelsproul left a comment

LGTM!

paulhauner added 2 commits Nov 15, 2019
@paulhauner paulhauner merged commit f229bbb into master Nov 15, 2019
4 checks passed
4 checks passed
ci/gitlab/eth1 Pipeline passed on GitLab
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
continuous-integration/travis-ci/push The Travis CI build passed
Details
license/cla Contributor License Agreement is signed.
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants
You can’t perform that action at this time.