r55: Integrating RISC-V Smart Contracts with EVM on Ethereum

This repository profile is provided by osrepos.com, an open source repository discovery platform.

r55: Integrating RISC-V Smart Contracts with EVM on Ethereum

Summary

R55 is an experimental Ethereum Execution Environment designed to seamlessly integrate RISC-V smart contracts alongside traditional EVM smart contracts. This innovative approach allows for dual support over the same Ethereum state, enabling pure Rust smart contracts and opening the Ethereum development space to a vast Rust developer community. It leverages standard tooling like Rust, Cargo, and LLVM, simplifying development and integration.

Repository Information

Analyzed by OSRepos on October 30, 2025

Topics

Click on any tag to explore related repositories

Use at your own risk

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of code from these repositories is the user's own responsibility. Always review the repository, source code, dependencies, licenses, and security implications before running or installing anything. OSRepos is not responsible for issues, damages, or losses resulting from third-party repositories.

Introduction

R55 is an experimental Ethereum Execution Environment that seamlessly integrates RISC-V smart contracts alongside traditional EVM smart contracts. This dual support operates over the same Ethereum state, allowing communication via ABI-encoded calls. On a high level, R55 enables the use of pure Rust smart contracts, opening the door for a vast Rust developer community to engage in Ethereum development with minimal barriers to entry and increasing language and compiler diversity. On a low level, RISC-V code allows for optimization opportunities distinct from the EVM, including the use of off-the-shelf ASICs, which can be particularly advantageous in specialized domains.

R55 relies on standard tooling that programmers are accustomed to, such as Rust, Cargo, and LLVM. This directly enables existing tooling like linters, static analyzers, testing, fuzzing, and formal verification tools to be applied to these smart contracts without extra development and research.

Installation

To get started with R55, you'll need to install some prerequisites.

macOS

brew tap riscv-software-src/riscv
brew install riscv-gnu-toolchain gettext

You'll also need to install Rust's RISC-V toolchain:

$ rustup install nightly-2024-02-01-x86_64-unknown-linux-gnu

Examples

R55 allows for pure and clean Rust smart contracts, enabling users to code in no_std Rust. The #[contract] macro is the only special treatment required, handling init code and function dispatching. Rust pub methods are exposed as public functions in the deployed contract, similar to Solidity's public functions.

Here's an example of a basic ERC20 token implementation:

#![no_std]
#![no_main]

use core::default::Default;

use contract_derive::contract;
use eth_riscv_runtime::types::Mapping;

use alloy_core::primitives::Address;

#[derive(Default)]
pub struct ERC20 {
    balance: Mapping<Address, u64>,
}

#[contract]
impl ERC20 {
    pub fn balance_of(&self, owner: Address) -> u64 {
        self.balance.read(owner)
    }

    pub fn transfer(&self, from: Address, to: Address, value: u64) {
        let from_balance = self.balance.read(from);
        let to_balance = self.balance.read(to);

        if from == to || from_balance < value {
            revert();
        }

        self.balance.write(from, from_balance - value);
        self.balance.write(to, to_balance + value);
    }

    pub fn mint(&self, to: Address, value: u64) {
        let to_balance = self.balance.read(to);
        self.balance.write(to, to_balance + value);
    }
}

You can run the end-to-end test to see R55 in action, compiling and deploying the ERC20 contract to an internal revm-r55 instance:

$ cargo test --package r55 --test e2e -- erc20 --exact --show-output

Why use R55?

R55 offers several compelling reasons for adoption:

  • Pure Rust Smart Contracts: Develop smart contracts using no_std Rust, leveraging the language's safety and performance features.
  • Standard Tooling: Integrate seamlessly with existing Rust, Cargo, and LLVM tools, reducing the learning curve and enabling robust development practices.
  • RISC-V Optimization: Explore new optimization opportunities distinct from the EVM, including the potential use of off-the-shelf ASICs for specialized tasks.
  • EVM Compatibility: Maintain compatibility with the existing Ethereum state and EVM smart contracts, ensuring a smooth transition and interoperability.
  • Client Integration: R55 is a fork of revm without API changes, allowing seamless integration into clients like Anvil/Reth for testnet/network deployment with RISC-V support.

Links

For more information and related projects, check out these links:

Related repositories

Similar repositories that may be relevant next.

Codeg: Collaborative Multi-Agent AI Coding Workspace for Developers

Codeg: Collaborative Multi-Agent AI Coding Workspace for Developers

September 30, 2026

Codeg (Code Generation) is an innovative multi-agent AI coding workspace built in Rust, designed to unify and enhance the developer experience. It aggregates sessions from various AI coding agents like Claude Code, Codex, and Grok Build into one searchable environment, facilitating seamless collaboration and task management. Available as a desktop app, self-hosted server, or Docker container, Codeg also offers native iOS and Android clients for on-the-go productivity.

AI CodingMulti-AgentRust
CCCC: Coordinate Your Coding Agents Like a Group Chat

CCCC: Coordinate Your Coding Agents Like a Group Chat

September 29, 2026

CCCC is a production-minded orchestrator designed to coordinate coding agents like a group chat, offering features such as read receipts, delivery tracking, and remote operations from your phone. It enables 24/7 workflow for multi-agent teams with a single `pip install` and zero infrastructure. This tool helps manage diverse AI runtimes, ensuring persistent collaboration across different machines and trusted working groups.

ai-agentschatgptllm-orchestration
AI Session Search: Ultra-Fast AI Agent Session Analysis

AI Session Search: Ultra-Fast AI Agent Session Analysis

September 29, 2026

AI Session Search (aise) is an ultra-fast, Rust-powered tool designed for searching and analyzing local AI agent coding sessions. It seamlessly integrates and indexes nine different session formats, including those from Claude, Codex, Cursor, and Gemini CLI. This powerful utility enables developers to quickly recover context, track agent behavior, and efficiently manage their AI-generated code history.

AIAI ToolsRust
AgentAleph: Local-First AI Coding Agent and GGUF Model Manager

AgentAleph: Local-First AI Coding Agent and GGUF Model Manager

September 25, 2026

AgentAleph is a desktop application that combines a local-first AI coding agent with a GGUF model manager. It allows users to download, load, and manage local large language models, and then use an AI agent to interact with their projects, all without relying on cloud services or API keys. This tool emphasizes privacy and offline capability, running models directly on your machine.

AI AgentCoding AgentLocal LLM

Source repository

Open the original repository on GitHub.

16 counted GitHub visits

View on GitHub
OS
OSRepos

Analysis and discovery of open source repositories. Find interesting projects and follow their updates.

Monitor your website with YourWebsiteScore

OSRepos shares public repositories for knowledge and discovery only. Any installation, execution, configuration, or use of third-party repository code is at your own risk. Always review source code, dependencies, licenses, and security implications before running anything.

© 2025 OSRepos. Built with Nuxt 3 and lots of ❤️