Update
These last two weeks I worked on:
- integrating the spec test vectors to our repo, and running them in the CI (skipping unimplemented handlers) #32
- adding a runner for
ssz_static
tests #40
- using Rust macros to reduce boilerplate in our SSZ NIF (Elixir/Erlang's version of FFI) #39
- extending the NIF to enable encoding/decoding more SSZ containers #44 #45 #47
- documenting the process to follow when adding a new container #49
- opening issues for external contributors #75 (some of those were already completed!
Image Not Showing
Possible Reasons
- The image file may be corrupted
- The server hosting the image is unavailable
- The image path is incorrect
- The image format is not supported
Learn More →
)
- adding bindings for gossipsub from go-libp2p-pubsub #79
- adding a usage example for the bindings, finding peers, connecting to them, subscribing to a subnet, and receiving gossip #84
- some general repo improvements #41 #77 #80 #95
Some SSZ containers are missing, but with what's implemented right now, we can start work on the networking part of the node. The gossipsub bindings enable us to connect to the network mesh, and receive updates on the most recently proposed blocks; while the base libp2p bindings already enable us to request a range of blocks to a peer.
Next steps
This week I plan on starting work on the networking part of the node, with a focus on:
- finding peers through a bootnode
- establishing connections with peers, up to a target amount
- enabling some common req/resp protocol IDs (status, metadata)
- listening on selected topics
- requesting a range of block from peers