beacon-chain

command
v0.2.4 Latest Latest
Warning

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

Go to latest
Published: Nov 19, 2019 License: GPL-3.0 Imports: 20 Imported by: 0

README

Prysmatic Labs Beacon Chain Implementation

This is the main project folder for the beacon chain implementation of Ethereum Serenity in Golang by Prysmatic Labs. Before you begin, check out our Contribution Guidelines and join our active chat room on Discord or Gitter below:

Discord Gitter

Also, read the latest beacon chain design spec, this design spec serves as a source of truth for the beacon chain implementation we follow at prysmatic labs. Check out the FAQs. Refer this page on why we are combining sharding and casper together.

Documentation

Overview

Package beacon-chain defines all the utilities needed for a beacon chain node.

This code was adapted from https://github.com/ethereum/go-ethereum/blob/master/cmd/geth/usage.go

Directories

Path Synopsis
Package blockchain defines the life-cycle and status of the beacon chain as well as the Ethereum Serenity beacon chain fork-choice rule based on Casper Proof of Stake finality.
Package blockchain defines the life-cycle and status of the beacon chain as well as the Ethereum Serenity beacon chain fork-choice rule based on Casper Proof of Stake finality.
forkchoice
Package forkchoice implements the Latest Message Driven GHOST (Greediest Heaviest Observed Sub-Tree) algorithm as the Ethereum Serenity beacon chain fork choice rule.
Package forkchoice implements the Latest Message Driven GHOST (Greediest Heaviest Observed Sub-Tree) algorithm as the Ethereum Serenity beacon chain fork choice rule.
core
blocks
Package blocks contains block processing libraries.
Package blocks contains block processing libraries.
epoch
Package epoch contains epoch processing libraries.
Package epoch contains epoch processing libraries.
helpers
Package helpers contains helper functions outlined in ETH2.0 spec beacon chain spec
Package helpers contains helper functions outlined in ETH2.0 spec beacon chain spec
state
Package state implements the whole state transition function which consists of per slot, per-epoch transitions.
Package state implements the whole state transition function which consists of per slot, per-epoch transitions.
validators
Package validators contains libraries to shuffle validators and retrieve active validator indices from a given slot or an attestation.
Package validators contains libraries to shuffle validators and retrieve active validator indices from a given slot or an attestation.
db
filters
Package filters specifies utilities for building a set of data attribute filters to be used when filtering data through database queries in practice.
Package filters specifies utilities for building a set of data attribute filters to be used when filtering data through database queries in practice.
kv
Package node defines the services that a beacon chain node would perform.
Package node defines the services that a beacon chain node would perform.
Package operations defines the life-cycle of beacon block operations.
Package operations defines the life-cycle of beacon block operations.
p2p
Package p2p implements the Ethereum 2.0 networking specification.
Package p2p implements the Ethereum 2.0 networking specification.
encoder
Package encoder allows for registering custom data encoders for information sent as raw bytes over the wire via p2p to other nodes.
Package encoder allows for registering custom data encoders for information sent as raw bytes over the wire via p2p to other nodes.
Package powchain defines the services that interact with the ETH1.0 of Ethereum.
Package powchain defines the services that interact with the ETH1.0 of Ethereum.
rpc
Package rpc defines the services that the beacon-chain uses to communicate via gRPC.
Package rpc defines the services that the beacon-chain uses to communicate via gRPC.
testing
Package internal is a generated GoMock package.
Package internal is a generated GoMock package.
Package sync TODO(3147): Add details on how sync works.
Package sync TODO(3147): Add details on how sync works.
peerstatus
Package peerstatus is a threadsafe global cache to store recent peer status messages for access across multiple services.
Package peerstatus is a threadsafe global cache to store recent peer status messages for access across multiple services.

Jump to

Keyboard shortcuts

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