+
Skip to content

letreturn/beacon-kit

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


A modular framework for building EVM consensus clients ⛵️✨

CI status CodeCov Telegram Chat X Follow Discord

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 supports the following execution clients:

  • Bera-Geth: Official Go implementation of the Berachain protocol.
  • Bera-Reth: Rust-based 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:

Note: This must be run after the beacond node is started since make start will populate the eth-genesis file used by the Execution Client.

# Start an Ethereum Execution Client:
make start-reth # or start-geth

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.

Important Commands and Options

beacond help lists available commands. Some commands have sub-commands.

beacond init creates a folder structure for beacond to operate in, along with initial configuration files, the important ones being app.toml and config.toml.

beacond start starts the chain client and begins the syncing process.

The key configuration value is the Beacon chain specification ("chainspec") - analogous to an Eth genesis - is held in a spec.toml file. There are three well-known chainspecs (mainnet|testnet|devnet). Or, a custom file can be provided to provide your own scenario's settings - see this example using Docker.

The chainspec is set with the --beacon-kit.chain-spec command line option, and if necessary for a custom chainspec, use --beacon-kit.chain-spec-file. If used during beacond init, this value is written into app.toml and does not need to be specified anymore.

You can override the default operating directories for beacond with the --home <path> option.

The Berachain Node Quickstart provides a quick deployment of mainnet or testnet on your desk.

For developing with beacon-kit, you have options:

  1. see the Makefile for targets to start stand-alone processes
  2. see an example deploying a team with Docker on a custom chainspec
  3. see a deployment with Kurtosis
  4. see an expect script that does a complete cycle of deposits, withdrawal, eviction, voluntary exit

About

A modular framework for building EVM consensus clients ⛵️✨

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 93.2%
  • Starlark 3.7%
  • Solidity 1.2%
  • Makefile 1.0%
  • Shell 0.6%
  • Smarty 0.2%
  • Dockerfile 0.1%
点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载