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. |
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. |
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. |
iface
Package iface exists to prevent circular dependencies when implementing the database interface.
|
Package iface exists to prevent circular dependencies when implementing the database interface. |
Package forkchoice implements the service to support fork choice for the eth2 beacon chain.
|
Package forkchoice implements the service to support fork choice for the eth2 beacon chain. |
protoarray
Package protoarray implements proto array fork choice as outlined: https://github.com/protolambda/lmd-ghost#array-based-stateful-dag-proto_array This was motivated by the following light house implementation: https://github.com/sigp/lighthouse/pull/804
|
Package protoarray implements proto array fork choice as outlined: https://github.com/protolambda/lmd-ghost#array-based-stateful-dag-proto_array This was motivated by the following light house implementation: https://github.com/sigp/lighthouse/pull/804 |
Package node defines the services that a beacon chain node would perform.
|
Package node defines the services that a beacon chain node would perform. |
operations
|
|
slashings
Package slashings defines the operations management of slashings.
|
Package slashings defines the operations management of slashings. |
voluntaryexits
Package voluntaryexits defines the operations management of voluntary exits.
|
Package voluntaryexits defines the operations management of voluntary exits. |
Package p2p implements the Ethereum 2.0 networking specification.
|
Package p2p implements the Ethereum 2.0 networking specification. |
connmgr
Package connmgr : This file is forked from github.com/libp2p/go-libp2p-core/connmgr/connmgr.go
|
Package connmgr : This file is forked from github.com/libp2p/go-libp2p-core/connmgr/connmgr.go |
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. |
peers
Package peers provides information about peers at the Ethereum protocol level.
|
Package peers provides information about peers at the Ethereum protocol level. |
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. |
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 testing is a generated GoMock package.
|
Package testing 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. |
Click to show internal directories.
Click to hide internal directories.