Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 33 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,10 +49,36 @@ If we forgot to include anyone, please file an issue so we can add you. We alway

## Roadmap

0. Initial project setup and integration with [lean-quickstart](https://github.com/blockblaz/lean-quickstart)
1. Load network configuration and genesis block
2. Connect to P2P layer and listen for new blocks
3. Compute next chain state from received blocks
4. Receive attestations from peers and apply fork-choice rule
5. Produce and broadcast attestations for the head of the chain
6. Build new blocks and broadcast them to peers
The initial project setup and integration with [lean-quickstart](https://github.com/blockblaz/lean-quickstart) are complete.

### Listen for new blocks

This milestone focuses on connecting to other clients and listening for new blocks through gossipsub.

- Connect to other peers via libp2p ✅
- Respond to STATUS messages from other peers 🏗️
- Listen for new blocks in gossipsub

### Compute current chain state

This milestone focuses on computing the chain state from the gossiped by peers received.

- Generate initial state from genesis configuration
- Implement state transition function
- Transition state on each new block

### Apply fork-choice rule

This milestone focuses on choosing the head of the chain based on gossiped attestations.

- Listen for attestations in gossipsub
- Implement fork-choice rule
- Apply fork-choice rule based on received attestations

### Produce blocks and attestations

This milestone focuses on performing the duties of a validator.

- Produce and broadcast attestations on each slot
- Compute current proposer for each slot
- Build and broadcast new blocks when proposing