paradigmxyz / reth

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

Tracking issue no_std support #8705

Closed mattsse closed 6 days ago

mattsse commented 3 months ago

Describe the feature

Ideally, we want to have a subset of crates with no_std supports (evm specifically)

- [x] storage-errors https://github.com/paradigmxyz/reth/issues/8459
- [ ] https://github.com/paradigmxyz/reth/issues/8706
- [ ] https://github.com/paradigmxyz/reth/issues/8707
- [ ] https://github.com/paradigmxyz/reth/issues/8708
- [ ] https://github.com/paradigmxyz/reth/issues/8716
- [ ] https://github.com/paradigmxyz/reth/issues/8793
- [ ] https://github.com/paradigmxyz/reth/issues/8801
- [ ] https://github.com/paradigmxyz/reth/issues/8864
- [ ] https://github.com/paradigmxyz/reth/issues/8865
- [ ] https://github.com/paradigmxyz/reth/issues/8930

Most significant blocker is most likely reth-primitives no_std support

Additional context

No response

JackG-eth commented 3 months ago

Assign me to all :)

puma314 commented 3 months ago

After reth-primitives, these crates would be super helpful too:

JackG-eth commented 3 months ago

After reth-primitives, these crates would be super helpful too:

  • [ ] reth-revm (in particular the state_change.rs file is used in the state transition function)
  • [ ] reth-evm (which seems pretty easy after the above is implemented)
  • [ ] reth-evm-ethereum (all we need for computing STF)

@mattsse what do you think on this? new set of tasks or?

mattsse commented 3 months ago

sg! I think we should do #8793 first

JackG-eth commented 3 months ago

sg! I think we should do #8793 first

Yeah looking at it now :)

DaniPopes commented 3 months ago

FYI @JackG-eth currently none of the crates work on no_std, you must check it against a target that doesn't have a standard library because dependencies are still allowed to have std. See https://github.com/paradigmxyz/reth/pull/8938

JackG-eth commented 3 months ago

@DaniPopes Ah, that makes much more sense now, sorry for the oversight from my end.... So, we will gradually fill in the list as more crates become independent from the standard lib?

DaniPopes commented 3 months ago

Yeah, the ones you've already done are fine, the problem is some dependencies aren't no_std or are missing default_features = false which will require a bit more work

JackG-eth commented 1 week ago

Hey @mattsse , apologies for being MIA. Will be back contributing and saw that we can close this?