The WeaveVM testnet: EVM compatibility, and SmartWeave in blobspace

The WeaveVM testnet: EVM compatibility, and SmartWeave in blobspace

April 16, 2024

The WeaveVM testnet v0 is nearing release, and the team is able to share what’s in scope and what it will enable for EVM and Arweave developers.

WeaveVM will build on top of reth to create a sovereign network that supports both traditional EVM and MEM / SmartWeave-style contracts, with Arweave as the infinitely scalable storage layer, rather than using on-node storage as is default with the EVM. Let’s look at the details.

EVM on WeaveVM

The EVM is the gold standard for blockchain compute, but the world computer doesn’t have a hard drive. As we looked at in our article on the world state trie problem, storage is an unsolved problem in EVM land: it costs thousands of dollars per megabyte, and is only kept alive by a few non-incentivized archival nodes.

WeaveVM addresses the on-node storage bottleneck of EVM chains by offloading storage to the world’s only permanent storage chain. This enables new use cases for fully onchain dApps with data that can be natively computed by the chain’s execution environment, and reduces third party trust assumptions.

Interacting with WeaveVM will be the same as any EVM chain, including:

  • Metamask support
  • ERC20, ERC721, and other tokens
  • L1 / L2 bridges
  • Deploy any existing EVM dApps like Uniswap, DAO tooling, friend.tech, etc.

We ensured existing EVM contracts can be deployed 1:1 on WeaveVM and take advantage of its radically improved approach to storage.

The WeaveVM testnet v0 will help us stress test:

  • Interoperability with core EVM functionality
  • WeaveVM’s novel Arweave-based storage and indexing
  • Demand from the 50,000-strong waitlist

SmartWeave on WeaveVM

WeaveVM is a sovereign EVM rollup that settles to Arweave, not Ethereum. Built on reth, WeaveVM supports EIP-4844 and has blobspace capacity for “smart blobs” — a novel use of blobspace DA that enables SmartWeave-style contracts like MEM functions to make use of native EVM functionality and EVM DA while executing extremely flexible computation offchain on a mem.tech node.

blobVM diagram

With this feature, WeaveVM supports both EVM and SmartWeave contracts in a context that can make strong DA guarantees, easily decentralize, and make calls off to data from any chain, oracle, or web2 source.

What WeaveVM means for MEM developers

MEM functions are an evolution of the SmartWeave standard, adding deterministicFetch() to access data over API. With smart blobs, MEM functions can be deployed 1:1 on WeaveVM, bringing a number of benefits and considerations:

  • Native EVM caller authentication is exposed to MEM functions deployed to WeaveVM blobspace. No need for the evm molecule, just access blobvm.msg.sender in the function instead.
  • 0x IDs for transactions, callers, and contracts for native alignment with Ethereum APIs and developer tooling
  • EVM-grade data availability guarantees for 14 days + permanent archiving of blob data on Arweave. This creates a 14-day fraud proof window, like used by other L2s, in which applications can lazy-evaluate function states from the EVM side, but also ensures application history lives forever on Arweave.
  • 128KiB size limit. Blobspace is only so big, so there is a hard limit on the size of the function you can deploy. Vanilla MEM has no limits.
  • Contract syntax is directly compatible – any existing MEM function can be deployed to WeaveVM blobspace. Functions that use EVM signature authentication can now be rewritten to use blobvm.msg.sender instead of relying on the evm molecule.

WeaveVM’s blobspace compute feature, smart blobs, is now submitted as ERC-7689, up for discussion on Ethereum Magicians.

Join the WeaveVM Discord to get involved, and follow along on Twitter to stay up to date.