EVM RPC Canister

From Internet Computer Wiki
Jump to: navigation, search

Overview

The EVM RPC Canister is a canister that enables the communication between canisters on the Internet Computer and smart contracts on Ethereum and other EVM (Ethereum Virtual Machine) blockchains.

Canisters can send requests to the EVM RPC Canister, which forwards the request to multiple JSON-RPC services using HTTPS outcalls and returns a response to the canister that sent the request.

The cycles ledger (canister ID: 7hfb6-caaaa-aaaar-qadga-cai) runs on the pzp6e fiduciary subnet.

Architecture

The following figure depicts the involved components and their interactions at a high level.

High-level overview of the EVM RPC Canister.


The EVM RPC Canister accepts requests from canisters and interacts with JSON-RPC providers via HTTPS outcalls to obtain data from and submit data to Ethereum or other EVM-based blockchains. Multiple JSON-RPC providers are queried to ensure that the response does not come from a single centralized party. At the same time, this mechanism guarantees that there is no single point of failure.Currently, the following JSON-RPC providers are supported: CloudFlare, Alchemy, Ankr, and BlockPI.

Detailed information about the available endpoints and code samples can be found in the developer docs.