paradigmxyz / reth

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

Make `js-tracer` optional in `rpc` #11548

Open storopoli opened 1 month ago

storopoli commented 1 month ago

Describe the feature

It's not possible to use rpc without having to compile all the boa stuff which takes a VERY long time to compile.

This was already reported in #10441, but partially implemented in #10444 for the rpc-eth-types and the revm-inspectors, but we're still missing in rpc: https://github.com/paradigmxyz/reth/blob/c35b8beb35594bb3192caec7d4335ca567d45539/crates/node/builder/Cargo.toml#L49

Additional context

No response

github-actions[bot] commented 3 weeks ago

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

edisontim commented 3 weeks ago

Hello @mattsse, can I work on this one?

mattsse commented 3 weeks ago

it's not possible to use rpc

can you clarify here, because this is already a feature that we enable:

reth-rpc = { workspace = true, features = ["js-tracer"] } 

so not 100% sure what you're exactly looking for here

storopoli commented 3 weeks ago

it's not possible to use rpc

can you clarify here, because this is already a feature that we enable:

reth-rpc = { workspace = true, features = ["js-tracer"] } 

so not 100% sure what you're exactly looking for here

It is not possible to use the node builder without bringing boa. That permalink is for the reth/crates/node/builder/Cargo.toml.

So, ideally the user could opt-in into js-tracer and boa and not have that as a default feature in the reth-node-builder crate.

Is that helpful?

mattsse commented 3 weeks ago

gotcha, let's lower this to the individual node crates first, if this is still insufficient, then we need to lower this to the cli itself but then we need some proper docs