8000 Project: Client go Burrrrr · Issue #1649 · evmts/tevm-monorepo · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Project: Client go Burrrrr #1649
Closed
Closed
@roninjin10

Description

@roninjin10

🌟 What’s Cooking?

  1. Rust/WASM-Powered EVM & State
    We’re rocketing the EVM and its state manager into Rust, compiling to WebAssembly so it runs flawlessly in browsers, Node.js, or even your coffee machine (if it supports WASM).

  2. Parallel Storage Fetch Sorcery
    Instead of pinging RPC providers slot-by-slot (snail mail style), we’ll conjure an access list to grab everything in one go—only falling back to the old way when absolutely unavoidable.


Image

🎯 Why Bother?

  • Break the Speed Limit
    Serial RPC calls are like pedaling uphill; parallel fetches are jetpacks. 🚀

  • One Code to Rule Them All
    Rust→WASM means write once, run everywhere: browser, Electron, Node.js… maybe even the Starship Enterprise.

  • Prove the Magic
    We’ll benchmark, graph, and dazzle stakeholders with hard numbers on performance gains.


🔧 How We’ll Pull It Off

  1. Rust/WASM Refactor Frenzy

    • Forge a nimble key/value store in Rust.
    • Build a Merkle trie smarter than a hungry Higgs boson.
    • Layer accounts & storage atop that trie, complete with “forked-mode” time travel.
    • Compile to WASM, plug in revm for EVM execution, and weave in precompiles, onStep callbacks, and full tracing.
  2. Storage Parallelization Primer

    • Summon eth_getAccessList (with state-override) to batch-fetch slots in one grand RPC call.
    • Detect nodes that don’t speak our dialect and gracefully fall back to serial fetches.
    • Benchmark everything, because numbers don’t lie.

📋 Issues

🚀 Rewrite EVM & State in Rust/WASM

  • Forge a Rust key/value store that’s quicker than a photon.
  • Construct a Merkle trie worthy of Feynman’s notebooks.
  • Implement accounts & storage on top of that trie.
  • Add “forked-mode” support: branch chains without dropping states.
  • Store contract bytecode in our KV layer—no byte left behind.
  • Expose a state adapter with an EthereumJS-compatible handshake.
  • Swap out the old EVM for revm and watch the sparks fly.
  • Cast JavaScript precompiles into revm spells.
  • Hook in onStep handlers like a maestro conducting a symphony.
  • Integrate deep tracing & debugging into revm.
  • Wire the Rust/WASM state manager into revm’s core.
  • Hook the Rust/WASM duo into the Node & Blockchain layers.
  • Draft end-to-end benchmarks and await standing ovations.

⚡ Parallel Storage Fetches in EVM

  • Implement eth_getAccessList prefetch with state-override for mega-batches.
  • Detect node support & fallback to slot-by-slot when necessary.
  • Benchmark serial vs. batched fetch performance—prepare charts!
  • Integrate the optimization into the Tevm pipeline and measure the fireworks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0