## Update
This last week I worked on:
- implementing a first iteration of the networking component [#107](https://github.com/lambdaclass/lambda_ethereum_consensus/pull/107) [#123](https://github.com/lambdaclass/lambda_ethereum_consensus/pull/123)
- a refactor of the underlying SSZ library used [#97](https://github.com/lambdaclass/lambda_ethereum_consensus/pull/97). Previously we decided to use the [lighthouse client's containers](https://github.com/sigp/lighthouse/tree/stable/consensus/types), but as they have non-trivial logic attached, we ended up implementing them ourselves, for simplicity.
- improving error handling in the SSZ NIF [#108](https://github.com/lambdaclass/lambda_ethereum_consensus/pull/108). This handles Elixir-type to Rust-type conversion errors.
- improving the error messages in the SSZ NIF [#124](https://github.com/lambdaclass/lambda_ethereum_consensus/pull/124)
- adding some more SSZ containers to the NIF [#99](https://github.com/lambdaclass/lambda_ethereum_consensus/pull/99)
### Networking
In its current state, the networking component connects to peers randomly, and subscribes to most *gossipsub* topics -- decoding and logging received messages. Most of this work was done on the Elixir side, but some of it required revisiting the *libp2p* bindings.
### SSZ
After the refactor, implementing new types was easier, and members of the community continued to add more of them.
## Next steps
The next step is to refactor the networking component, to allow others to consume the received data, so as to allow receiving proposed blocks, and verifying them.