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

Minimal valid SignedBeaconBlock construction #910

Closed
mpaulucci opened this issue Mar 22, 2024 · 1 comment
Closed

Minimal valid SignedBeaconBlock construction #910

mpaulucci opened this issue Mar 22, 2024 · 1 comment
Assignees

Comments

@mpaulucci
Copy link
Collaborator

mpaulucci commented Mar 22, 2024

This is part of #801

The idea it to create the simplest valid block that can be propagated through the network.

So the scope for this block is:

  • Compute starting state with get_head.
  • Compute the parent root as get_proposer_head(store, head_root, slot)
  • Set the block body with:
    • Compute randao_reveal
    • Copy eth1_data from previous block
    • Set all operations as empty lists (proposer slashing, attester slashing, pending attestations, etc..)
    • Call the execution layer with get_execution_payload. Add KZG commitments returned from the execution layer to the blob
    • Calculate sync_aggregate as if no sync commitee contributions had been made
  • Compute compute_new_state_root. Apply state transition to previous state and calculate the root to add it to the block.
  • Sign the block.
@MegaRedHand
Copy link
Collaborator

The proposal should be done in

defp propose(_state) do
# TODO: implement block proposal
end

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

No branches or pull requests

2 participants