## Update
This last week I worked on:
- adding the `WithMessageIdFn` option to the *go-libp2p-pubsub* module [#200](https://github.com/lambdaclass/lambda_ethereum_consensus/pull/200) among other options [#194](https://github.com/lambdaclass/lambda_ethereum_consensus/pull/194)
- integrating the networking and storage parts with the Beacon API component [#218](https://github.com/lambdaclass/lambda_ethereum_consensus/pull/218)
- fixing a recurring (but harmless) error when compiling the *go-libp2p* bindings [#186](https://github.com/lambdaclass/lambda_ethereum_consensus/pull/186)
- porting some more container specifications to the SSZ NIF [#196](https://github.com/lambdaclass/lambda_ethereum_consensus/pull/196) [#188](https://github.com/lambdaclass/lambda_ethereum_consensus/pull/188)
- fixing some issues with tests [#195](https://github.com/lambdaclass/lambda_ethereum_consensus/pull/195) [#214](https://github.com/lambdaclass/lambda_ethereum_consensus/pull/214) [#216](https://github.com/lambdaclass/lambda_ethereum_consensus/pull/216)
- adding tree root hashing to the SSZ NIF [#202](https://github.com/lambdaclass/lambda_ethereum_consensus/pull/202)
- other general issues [#193](https://github.com/lambdaclass/lambda_ethereum_consensus/pull/193) [#201](https://github.com/lambdaclass/lambda_ethereum_consensus/pull/201) [#219](https://github.com/lambdaclass/lambda_ethereum_consensus/pull/219)
Once [#218](https://github.com/lambdaclass/lambda_ethereum_consensus/pull/218) is merged, we'll have completed the first milestone of our project! We made [a simple demo](https://twitter.com/lambdaconsensus/status/1703769378733359519) showing the node receiving gossiped blocks, storing them, and serving their roots through the Beacon API.
## Next steps
- Fast syncing via *checkpoint sync* from a trusted source
- Validating execution payloads with the Engine API
- Requesting blocks from peers (to sync from finalized checkpoints)
- Extend current Beacon API to return blocks and head