Monthly Contribution - November 2024
💡
Opened 4 PRs, and merged 3 PRs to Reth.
Opened and merged 1 PR at Lighthouse.
Opened 1 issue on alloy.
Opened 2 PRs and 1 issue, and merged 1 PR to Prysm.
Opened and merged 1 PR at Lighthouse.
Opened 1 issue on alloy.
Opened 2 PRs and 1 issue, and merged 1 PR to Prysm.
Reth
In my opinion, Reth is one of the best open-source projects in Ethereum. Paradigm understands the value of open-source(See talk by Georgios. I was really impressed in Bangkok). Maintainers have spent a lot of time and effort to manage all the issues. Shout out to @mattsse, @emhane, and all other maintainers.
They raise and classfy all the issues, and for me these were great opportunities to 1) onboarding Reth and 2) enhancing my Rust 🦀 skills.
#1
- My first contribution to Reth!
- Added a panel that tracks buffered outgoing messages in mempool, for Reth Grafana dashboard.
- Since all public testnets take a lot of time and resource to be synced, I used an ephemery testnet(ephemery.dev).
#2
- Used
derive_more::Display
to print a struct prettier. - It was my first time to use
derive_more
and I liked the way to declare the formatter easily. I don't need toimpl
std::fmt::Display
!
#3
- Made a struct to be generic.
- Learned to use adapter type, special thanks to @emhane for reviewing my code!
#4
- As go-ethereum supports
engine_executeStatelessPayloadVx
API, there is a feature request for Reth also. - I am not familiar with the topic "Stateless", but it would be a great change to learn the basic concept of stateless things.
- I traced the history for this API:
- @karalabe(shout to his effort on go-ethereum so far!) first proposed a RFC. It's called Execution Layer cross-validation.
- It's a much simpler implementation than Verkle roadmap, and he argued this could be a great middle point to the stateless roadmap.
- @karalabe implemented the spec for his proposal: #30069.
- There is a debug API(
debug_executionWitness
) implemented in Reth: #9249 . So I planned to leverage it.
- As it could be a huge work, @mattsse suggests me to define traits for those APIs first.
- This is my draft PR, and realized that there needs a new struct for these APIs in alloy. So I raised an issue:
Lighthouse
#1
- This is my first contribution to Lighthouse! I really loved what @dapplion talks at this Devcon: See this video.
- What I have to do is introducing new flag for validator client.
http-token-path
will provide a actual path that holds a token for communicating via HTTP. - The work is done, but it was planned to be included in version 6.1.0.
Prysm
#1
- Opened an issue about refactoring p2p address util functions. (Nov. 2nd)
- Also assigned to #14166 which will increase UX for node operators.
- On Nov. 5th, I committed a work that addresses both issues.
- There are some unnecessary redundancy to parse raw address strings. I added
ParseGenericAddrs
function and applied to other files. - Not yet merged, seems they are refactoring on p2p package. Those are related:
#2
- This PR added a new endpoint(
/eth/v2/beacon/blocks/{block_id}/attestations
), but this actually doesn't applied to API handler actually. - V2 API uses new
Attestation
struct for the response: EIP-7549 is included in the next upgrade(Electra), and this EIP suggests to move committe index out ofAttestation
. - Opened and merged at November 7th.