paradigmxyz / reth

Modular, contributor-friendly and blazing-fast implementation of the Ethereum protocol, in Rust
https://reth.rs/
Apache License 2.0
3.94k stars 1.17k forks source link

Promote Rpc to a node component #10769

Closed mattsse closed 2 weeks ago

mattsse commented 1 month ago

this part is slightly confusing:

https://github.com/paradigmxyz/reth/blob/e7defb23345491297f35865b135ed03b29abfb5b/crates/node/api/src/node.rs#L94-L110

this is more like a helper trait to create the ethapi component.

atm the rpc is not stateful:

https://github.com/paradigmxyz/reth/blob/e7defb23345491297f35865b135ed03b29abfb5b/crates/ethereum/node/src/node.rs#L76-L82

we should make this stateful similar to a trait RpcBuilder, like we do with:

https://github.com/paradigmxyz/reth/blob/e7defb23345491297f35865b135ed03b29abfb5b/crates/ethereum/node/src/node.rs#L89-L96

this way the rpc setup can be customized entirely, not only the ethapi part.

this also allows us to separate engine server setup from regular rpc.

First we can make the Addons stateful

emhane commented 1 month ago

ref https://github.com/paradigmxyz/reth/issues/8987

github-actions[bot] commented 2 weeks ago

This issue is stale because it has been open for 21 days with no activity.

mattsse commented 2 weeks ago

with #11532 we now have this