Georgios Konstantopoulos Profile picture
Jun 21 10 tweets 3 min read Read on X
Excited to publish the REVM Compiler, revmc! (@DaniPopes 1st author)

We used LLVM to lower EVM bytecode into native code.

We demonstrate 19x gains for the Fibonacci benchmark and synced Ethereum mainnet with revmc enabled for the hottest 250 contracts!

Read on to learn more! Image
You can find the full post here.

paradigm.xyz/2024/06/revmc
Why build an EVM-native compiler?

To speed up execution by getting rid of the overheads of bytecode interpretation, inspired by well-established technologies like the Java or the WASM JIT.
How does the EVM Compiler work?

It translates bytecode to our own intermediate representation which then gets passed to LLVM via the inkwell crate.

LLVM then proceeds to aggressively compile into native machine code which runs very fast.
It is really fast vs the Revm interpreter!

19x vs Fibonacci, 2.77x vs Counter, 1.85x vs the WETH contract Image
We also managed to sync Ethereum mainnet with revmc enabled for the 250 hottest contracts!

Gains were less significant O(1-10%) but that's expected for Ethereum L1 where compute is less intense.
How do I use this?

We provide examples of how to compile and hook on compiled contracts in the repository, following Revm's API, using the EVM Builder.

github.com/paradigmxyz/re…
How does the Reth integration work?

@notnotstorm found the top 250 contracts by # traces, and loaded up their bytecodes in a toml file.

Then, Reth is run with `--experimental.compiler` which injects the compiler code into our block executor & compiles.

github.com/paradigmxyz/re…
This work was solo-carried by @DaniPopes who deserves a huge shoutout for leading development, testing and benching of the project end to end.

Big kudos to Dani for being an irreplaceable member of our team, consistently delivers high quality, well-tested & super optimized code.
The future of Revmc is to be integrated in Reth for production use and in every Layer 2.

Reach out if you're interested in collaborating, and making it even faster!

github.com/paradigmxyz/re…

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Georgios Konstantopoulos

Georgios Konstantopoulos Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @gakonst

Apr 24
We have made great strides in the world of blockchain scaling in the last 10 years.

It’s time to go further.

Reth’s path to 1 gigagas per second, and beyond…where we present our roadmap for scaling Ethereum. Image
Here's the full post.

paradigm.xyz/2024/04/reth-p…
To start, we must stop using Transactions Per Second as a performance metric and use more nuanced metrics.

We propose to the EVM community to adopt Gas Per Second (GPS) as a standard metric, and start seriously exploring multi-dimensional pricing.

ethresear.ch/t/draft-positi…
Read 13 tweets
Apr 15
Today, we are excited to open source Reth Alphanet.

Reth AlphaNet is an OP Stack-compatible testnet rollup that maximizes Reth performance and enables experimentation of bleeding edge Ethereum Research. Image
You can find the full announcement below.

paradigm.xyz/2024/04/reth-a…
Reth AlphaNet is a testnet rollup built on OP Stack & OP Reth.

Reth AlphaNet is aimed at experimentation of Ethereum research at the bleeding edge, and comes with 3 EIPs not available anywhere else yet. EIP-3074, EIP-71212, EIP-2537.

These EIPs are built with best-practices in mind, are optimized, and tested. We want to do more of this.

AlphaNet is also built for high performance, and we aim to break through the gigagas per second barrier with it.Image
Read 11 tweets
Feb 28
Introducing Frog 🐸 – A *Frame*work for Farcaster.

Frog is an open-source framework for @Farcaster_xyz developers to build high quality, performant, & lightweight Frames in just a few blocks of code.

Built as part of the @wevm_dev x @paradigm collab. Read on! Image
.@Farcaster_xyz’s programmable feed, enabled by Frames, is one of the most exciting things happening in web3. We felt like this deserved a world-class devtool experience.

You can find our post below:


Highlights for devs in rest of thread.paradigm.xyz/2024/02/frames
We will be talking about this today at 12:30p PST on Spaces with the Tom, Jake and the Farcaster team, + maybe special guests.

Read 12 tweets
Mar 1, 2023
6 useful projects I’d (selfishly) love to see built during #ETHDenver 🧵
OP-Reth

The OP Stack implements an Optimistic Rollup design that aims to be as close to Ethereum. See @protolambda's diff here: op-geth.optimism.io

Would love to see an implementation in Reth: github.com/paradigmxyz/re…

@refcells is already working on this, reach out
.@wagmi_sh x Foundry full-stack hacks

Wagmi is quickly rising to be the #1 Web3 frontend library. The Wagmi CLI allows blazing-fast iteration on full-stack hackathon projects w/ its Foundry integration.

e.g
github.com/d1onys1us/dapp…
github.com/ethereum-optim…
Read 8 tweets
Dec 7, 2022
Excited to be open-sourcing Reth, an Ethereum execution layer in @rustlang 🦀

Reth is a new Apache/MIT-licensed full-node implementation of Ethereum by @paradigm and the community, focused on contributor-friendliness, modularity, and performance.

paradigm.xyz/2022/12/reth
We are building Reth for 3 reasons:

1. Building a performant node for power users
2. Contributing to Ethereum’s stability by improving client diversity
3. Giving back to Ethereum by contributing to the roadmap
We are building Reth to accommodate a broad user base, including stakers, hobbyists, RPC node operators, bridges, MEV searchers, and even L2s (e.g., Optimism/Arbitrum) or other Ethereum-adjacent projects (e.g., Polygon, BSC, Avalanche, Fantom etc.).
Read 12 tweets
Nov 24, 2022
.@paradigm is building Reth, a Rust Ethereum Execution Layer.

Reth is not a fork or a rewrite of any other client implementation.

It is a new Apache/MIT-licensed full node implementation of Ethereum focused on contributor friendliness, modularity, and performance. 1/8
Reth does not include code from any existing client but stands on the shoulders of giants including Geth, Erigon and Akula.

We sponsored the project in the interest of client diversity, so we are sorry to see any other project ceasing development. It is a loss for the space. 2/8
A core goal of Reth is modularity and open-source friendliness.

Every component is built to be used as a library: well-tested, heavily documented and benchmarked.

We envision that developers will import the node's crates, mix and match, and innovate on top of them. 3/8
Read 8 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us!

:(