Skip to content

shawntabrizi/frontier

master
Switch branches/tags
Code
This branch is 610 commits behind PureStake:master.
Contribute

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
rpc
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Frontier

Frontier is Substrate's Ethereum compatibility layer. It allows you to run unmodified Ethereum dapps.

The goal of Ethereum compatibility layer is to be able to:

  • Run a normal web3 application via the compatibility layer, using local nodes, where an extra bridge binary is acceptable.
  • Be able to import state from Ethereum mainnet.

It consists of the following components:

  • pallet-evm: EVM execution engine for Substrate.
  • pallet-ethereum: Emulation of full Ethereum block processing.
  • rpc-ethereum: Compatibility layer for web3 RPC methods.

Development notes

Frontier is still work-in-progress. Below are some notes about the development.

Vendor folder

The vendor folder contains dependencies that contains changes that has not yet been upstreamed. Once the upstreaming process is finished, the corresponding submodule should be removed from vendor folder, and directly use upstream.

The substrate submodule contains a large quantity of dependencies, so they should directly use path directive in dependency declarations. For other dependencies, they should use Cargo's patch feature in workspace declaration.

To install those submodules, from the frontier root folder:

git submodule init
git submodule update

About

Ethereum compatibility layer for Substrate.

Resources

License

Apache-2.0, GPL-3.0 licenses found

Licenses found

Apache-2.0
LICENSE-APACHE2
GPL-3.0
LICENSE-GPL3

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 81.0%
  • TypeScript 14.5%
  • JavaScript 4.3%
  • Shell 0.2%