beacon-kit

module
v0.1.1-experimental.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 9, 2024 License: MIT

README

beacon-kit

CI status CodeCov

A modular and customizable consensus layer for Ethereum based blockchains

What is BeaconKit

BeaconKit introduces an innovative framework that utilizes the Cosmos-SDK to create a flexible, customizable consensus layer tailored for Ethereum-based blockchains. 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.

First there was EVM Compatibility; next, EVM Equivalence; and now with BeaconKit, EVM Identicality.

Why BeaconKit?

TODO: Talk about Polaris / Ethermint compatibility issue.

Supported Execution Clients

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

  • Geth: Official Go implementation of the Ethereum protocol.
  • Erigon: Formerly known as Turbo-Geth, it is a more performant and feature-rich Ethereum client forked from go-ethereum.
  • Nethermind: .NET based Ethereum client with full support for Ethereum and other blockchain protocols.
  • Besu: An enterprise-grade Ethereum client developed under the Apache 2.0 license and written in Java.
  • Reth: A Rust-based Ethereum client, focusing on performance and reliability.

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

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

Directories

Path Synopsis
beacond module
app
cmd
x/beacon/api/module/v1alpha1
Code generated by protoc-gen-go-pulsar.
Code generated by protoc-gen-go-pulsar.
build
tools Module
examples
berad Module
mod module
core/state
Code generated by fastssz.
Code generated by fastssz.
core/types
Code generated by fastssz.
Code generated by fastssz.
da
da/types
Code generated by fastssz.
Code generated by fastssz.
execution/types
Code generated by fastssz.
Code generated by fastssz.
forks
Code generated by fastssz.
Code generated by fastssz.
node-builder/commands/genesis/types
Code generated by fastssz.
Code generated by fastssz.
node-builder/utils/maxprocs
Package maxprocs automatically set GOMAXPROCS to match the Linux container CPU quota (if any), returning any error encountered and an undo function.
Package maxprocs automatically set GOMAXPROCS to match the Linux container CPU quota (if any), returning any error encountered and an undo function.
primitives
Code generated by fastssz.
Code generated by fastssz.
trie
Package trie defines utilities for sparse merkle tries for Ethereum consensus.
Package trie defines utilities for sparse merkle tries for Ethereum consensus.
async Module
beacon Module
chain-spec Module
cli Module
config Module
consensus Module
errors Module
interfaces Module
log Module
node-api Module
node-core Module
observability Module
p2p Module
payload Module
server Module
testing module

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL