one-of-us: The Rust Program Wearing a Solidity Mask
How Gear Foundation uses Ethereum blobs and auto-generated mirrors to run high-performance WASM logic inside the EVM ecosystem.
- The Mirror Architecture uses hollow Solidity shells to let high-performance Rust logic run within the EVM ecosystem.
- The Sails framework automatically generates a Solidity ABI from a Rust-based source of truth to maintain cross-chain compatibility.
- EIP-4844 blobspace provides a cost-effective storage layer for deploying heavy WebAssembly binaries that would be too expensive for standard calldata.
- The system offloads complex social trust graph calculations to an asynchronous actor model while maintaining a familiar Ethereum user experience.
The Contract That Isn't There
Look at the blockchain explorer, and you will see a standard Ethereum address. Send a transaction to it, and your wallet will parse a familiar Solidity Application Binary Interface (ABI). But the contract you are interacting with is an illusion. The actual logic executing your transaction is written in Rust, compiled to WebAssembly, and running on the Gear Protocol's asynchronous actor model.
This is the "Mirror Architecture" pioneered by Gear Foundation in their one-of-us repository. It solves one of the oldest problems in cross-chain development. Instead of forcing users to bridge assets or adopt new wallets, the backend simply hallucinates a Solidity frontend.
Transpiling the Truth: From IDL to ABI
The magic trick relies on a framework called Sails. In the one-of-us architecture, developers write their core logic in Rust. Sails then generates an Interface Definition Language (IDL) file. This IDL acts as the absolute source of truth for the program.
Using a custom CLI tool, the build pipeline reads this IDL and automatically generates one_of_us.sol. This Solidity file contains no execution logic. It is a hollow shell, an ABI metadata provider that tells the Ethereum Virtual Machine exactly how to format data so the Gear Router can understand it.
Hiding Code in the Clouds (and Blobs)
Deploying complex WASM binaries directly to Ethereum calldata is prohibitively expensive. The deployment scripts in one-of-us bypass this entirely by exploiting EIP-4844.
By utilizing KZG commitments and Ethereum's blobspace, the repository uploads the heavy WASM binary into temporary, highly cost-efficient blob storage. The EVM router only needs to verify the blob's existence to link the Solidity ABI to the underlying Rust program.
Beyond the Bot: Social Vouching in WASM
The specific application built to demonstrate this architecture is a decentralized identity registry. The goal is Sybil-resistance through social vouching, allowing communities to verify human members without relying on centralized KYC or biometric scans.
In late 2022, one of us was founded on a dream to unite Web3 enthusiasts in a space dedicated to collective growth and learning. Our ambition stretched beyond forming a mere community; we aspired to forge a unique fusion —a hub for social interaction with an edge for nurturing a network focused on the funding and incubation of Web3 projects.
Calculating social trust graphs is computationally intensive. By moving this logic out of the synchronous EVM and into the Gear Protocol's asynchronous WASM environment, the system can process complex peer validations in parallel while still allowing users to interact via their standard Ethereum wallets.
The Multilingual Stack
The repository is a masterclass in cross-ecosystem coordination. Rust handles the state, TypeScript orchestrates the multi-chain deployment pipeline, Solidity provides the interface, and GLSL shaders power the frontend visual experience.
| Architecture | Execution Environment | Wallet Compatibility | Gas Efficiency (Heavy Logic) |
|---|---|---|---|
| Pure Native | EVM (Solidity) | Standard (MetaMask) | Low |
| Traditional L2 | EVM or Custom VM | Requires Network Switch | Medium |
| The Mirror (one-of-us) | WASM Actor Model | Standard (MetaMask) | High (via Blobs) |
By treating Ethereum as an interface and storage layer rather than an execution bottleneck, one-of-us provides a blueprint for the next generation of decentralized applications. It proves that developers no longer have to choose between advanced language features and ecosystem reach.