Skip to content

A modular framework for building EVM consensus clients ⛵️✨

License

Notifications You must be signed in to change notification settings

berachain/beacon-kit

Repository files navigation


A modular framework for building EVM consensus clients ⛵️✨

The project is still heavily under construction, see the disclaimer below.

CI status CodeCov Telegram Chat Twitter Follow

What is BeaconKit?

BeaconKit is a modular framework for building EVM based consensus clients. The framework offers the most user-friendly way to build and operate an EVM blockchain, while ensuring a functionally identical execution environment to that of the Ethereum Mainnet.

Supported Execution Clients

Through utilizing the Ethereum Engine API BeaconKit is able to support all 6 major Ethereum execution clients:

  • Geth: Official Go implementation of the Ethereum protocol.
  • Erigon: More performant, feature-rich client forked from go-ethereum.
  • Nethermind: .NET based client with full support for Ethereum protocols.
  • Besu: Enterprise-grade client, Apache 2.0 licensed, written in Java.
  • Reth: Rust-based client focusing on performance and reliability.
  • Ethereumjs: Javascript based client managed by the Ethereum Foundation.

Running a Local Development Network

Prerequisites:

Start by opening two terminals side-by-side:

Terminal 1:

# Start the sample BeaconKit Consensus Client:
make start

Terminal 2:

# Start an Ethereum Execution Client:
make start-reth # or start-geth start-besu start-erigon start-nethermind start-ethereumjs

The account with private-key=0xfffdbb37105441e14b0ee6330d855d8504ff39e705c3afa8f859ac9865f99306 corresponding with address=0x20f33ce90a13a4b5e7697e3544c3083b8f8a51d4 is preloaded with the native EVM token.

Multinode Local Devnet

Please refer to the Kurtosis README for more information on how to run a multinode local devnet.

Status

This project is work in progress and subject to frequent changes as we are still working on wiring up the final system. Audits on BeaconKit are still ongoing, and in progress at the moment. We don't recommend using BeaconKit in a production environment yet.