Directories ¶
Path | Synopsis |
---|---|
Package beacon-chain defines all the utilities needed for a beacon chain node.
|
Package beacon-chain defines all the utilities needed for a beacon chain node. |
blockchain
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. |
blockchain/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. |
core/epoch
Package epoch contains epoch processing libraries.
|
Package epoch contains epoch processing libraries. |
core/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 |
core/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. |
core/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. |
node
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
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. |
p2p/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. |
powchain
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. |
rpc/testing
Package internal is a generated GoMock package.
|
Package internal is a generated GoMock package. |
sync
Package sync TODO(3147): Add details on how sync works.
|
Package sync TODO(3147): Add details on how sync works. |
sync/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. |
contracts
|
|
proto
|
|
beacon/rpc/v1_gateway
Package ethereum_beacon_rpc_v1 is a reverse proxy.
|
Package ethereum_beacon_rpc_v1 is a reverse proxy. |
bls
Package bls implements a go-wrapper around a library implementing the the BLS12-381 curve and signature scheme.
|
Package bls implements a go-wrapper around a library implementing the the BLS12-381 curve and signature scheme. |
bytesutil
Package bytesutil defines helper methods for converting integers to byte slices.
|
Package bytesutil defines helper methods for converting integers to byte slices. |
cmd
Package cmd defines the command line flags for the shared utlities.
|
Package cmd defines the command line flags for the shared utlities. |
debug
Package debug defines useful profiling utils that came originally with go-ethereum.
|
Package debug defines useful profiling utils that came originally with go-ethereum. |
featureconfig
Package featureconfig defines which features are enabled for runtime in order to selctively enable certain features to maintain a stable runtime.
|
Package featureconfig defines which features are enabled for runtime in order to selctively enable certain features to maintain a stable runtime. |
logutil
Package logutil creates a Multi writer instance that write all logs that are written to stdout.
|
Package logutil creates a Multi writer instance that write all logs that are written to stdout. |
mclockutil
Package mclockutil is a wrapper for a monotonic clock source
|
Package mclockutil is a wrapper for a monotonic clock source |
mock
Package mock_p2p is a generated GoMock package.
|
Package mock_p2p is a generated GoMock package. |
params
Package params defines important constants that are essential to the Ethereum 2.0 services.
|
Package params defines important constants that are essential to the Ethereum 2.0 services. |
roughtime
Package roughtime is a wrapper for a roughtime clock source
|
Package roughtime is a wrapper for a roughtime clock source |
sliceutil
Package sliceutil implements set operations for specified data type Currently types which are tested and supported are: []uint32 []int32 []string []float32 []uint64 []int64 []string []float64 Intersection, Union, Not , IsIn are the operations which are supported on slices
|
Package sliceutil implements set operations for specified data type Currently types which are tested and supported are: []uint32 []int32 []string []float32 []uint64 []int64 []string []float64 Intersection, Union, Not , IsIn are the operations which are supported on slices |
testutil
Package testutil defines the testing utils such as asserting logs.
|
Package testutil defines the testing utils such as asserting logs. |
This code was adapted from https://github.com/ethereum/go-ethereum/blob/master/cmd/geth/usage.go
|
This code was adapted from https://github.com/ethereum/go-ethereum/blob/master/cmd/geth/usage.go |
service
Package service defines the service used to retrieve slashings proofs and feed attestations and block headers into the slasher db.
|
Package service defines the service used to retrieve slashings proofs and feed attestations and block headers into the slasher db. |
tools
|
|
bootnode
* * Bootnode * * A node which implements the DiscoveryV5 protocol for peer * discovery.
|
* * Bootnode * * A node which implements the DiscoveryV5 protocol for peer * discovery. |
bootnode-query
Bootstrap / DHT query tool Usage: bazel run //tools/boostrap-query -- $BOOTNODE_ADDRESS This tool queries the bootstrap / DHT node for peers then attempts to dial and ping each of them.
|
Bootstrap / DHT query tool Usage: bazel run //tools/boostrap-query -- $BOOTNODE_ADDRESS This tool queries the bootstrap / DHT node for peers then attempts to dial and ping each of them. |
contract-addr
* * This tool exists to serve currently configured contract address in k8s.
|
* * This tool exists to serve currently configured contract address in k8s. |
enr-calculator
This binary is a simple rest API endpoint to calculate the ENR value of a node given its private key,ip address and port.
|
This binary is a simple rest API endpoint to calculate the ENR value of a node given its private key,ip address and port. |
eth1exporter
Prometheus exporter for Ethereum address balances.
|
Prometheus exporter for Ethereum address balances. |
forkchecker
* * Fork choice checker * * A gRPC client that polls beacon node at every slot to log or compare nodes current head.
|
* * Fork choice checker * * A gRPC client that polls beacon node at every slot to log or compare nodes current head. |
interop/convert-keys
Used for converting keys.yaml files from eth2.0-pm for interop testing.
|
Used for converting keys.yaml files from eth2.0-pm for interop testing. |
relaynode
* * Relay node * * A simple libp2p relay node peers to connect inbound traffic behind a NAT or * other network restriction.
|
* * Relay node * * A simple libp2p relay node peers to connect inbound traffic behind a NAT or * other network restriction. |
This code was adapted from https://github.com/ethereum/go-ethereum/blob/master/cmd/geth/usage.go
|
This code was adapted from https://github.com/ethereum/go-ethereum/blob/master/cmd/geth/usage.go |
client
Package client represents the functionality to act as a validator.
|
Package client represents the functionality to act as a validator. |
internal
Package internal is a generated GoMock package.
|
Package internal is a generated GoMock package. |
node
Package node defines a validator client which connects to a full beacon node as part of the Ethereum Serenity specification.
|
Package node defines a validator client which connects to a full beacon node as part of the Ethereum Serenity specification. |
Click to show internal directories.
Click to hide internal directories.