-
Notifications
You must be signed in to change notification settings - Fork 83
Integrate the DKG test loop with the sortition pool #3076
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
Conversation
The `beacon.Initialize` function will need to use the v2 beacon chain implementation. To not break the build, we rename the currently used implementation by adding the `V1` suffix and inject the new v2 chain implementation as the regular `beaconChain`.
the DKG executor Since `beaconchain.Interface` now exposes the `Signing` function allowing to obtain a `chain.Signing` reference, there is no point to pass it separately next to the `beaconchain.Interface` instance. This changeset cleans up that for the DKG executor code.
`ethereum.BeaconChain`
implementations from v1 chain to v2 chain handle Since `beacon.Initialize` uses the new v2 beacon chain implementation to run the DKG test loop, we need to port all stub implementations of the chain functions used by the DKG loop from the legacy v1 chain handle to the new v2 beacon chain implementation.
Can we provide Hardhat task and a script for genesis? This would simplify the local development a lot. |
Will handle that in a separate PR! |
# Conflicts: # pkg/chain/ethereum/beacon.go
|
Added the Hardhat task for genesis: #3080 |
|
Can we undraft this PR now given #3074 is merged? |
# Conflicts: # cmd/start.go # pkg/beacon/beacon.go # pkg/chain/ethereum/beacon.go
.Interface` The beacon application must manage its on-chain sortition pool. That means the beacon chain interface must declare sortition-pool-specific functions. The best way to that is to embed the `sortition.Chain` interface.
|
Tested locally with 2 clients, and works as advertised! |
Closes: #3013
Depends on: #3074
Here we integrate the DKG test loop with the real sortition pool group selection. Apart from that, we are also integrating the new beacon chain Ethereum implementation into the beacon application code and doing some cleanup in the DKG executor API.
The following requirements must be met in order to run the client with a working DKG loop: