Directories ¶
Path | Synopsis |
---|---|
Package beacon-chain defines all the utlities needed for a beacon chain node.
|
Package beacon-chain defines all the utlities needed for a beacon chain node. |
attestation
Package attestation defines the life-cycle and status of single and aggregated attestation.
|
Package attestation defines the life-cycle and status of single and aggregated attestation. |
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. |
chaintest/backend
Package backend contains utilities for simulating an entire ETH 2.0 beacon chain for e2e tests and benchmarking purposes.
|
Package backend contains utilities for simulating an entire ETH 2.0 beacon chain for e2e tests and benchmarking purposes. |
core/attestations
Package attestations tracks the life-cycle of the latest attestations from each validator.
|
Package attestations tracks the life-cycle of the latest attestations from each validator. |
core/balances
Package balances contains libraries to calculate reward and penalty quotients.
|
Package balances contains libraries to calculate reward and penalty quotients. |
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/randao
Package randao contains libraries to update and proposer's RANDAO layer and mixes the RANDAO with the existing RANDAO value in state.
|
Package randao contains libraries to update and proposer's RANDAO layer and mixes the RANDAO with the existing RANDAO value in state. |
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. |
dbcleanup
Package dbcleanup defines the life cycle and logic of beacon DB cleanup routine.
|
Package dbcleanup defines the life cycle and logic of beacon DB cleanup routine. |
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. |
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. |
sync
Package sync defines the utilities for the beacon-chain to sync with the network.
|
Package sync defines the utilities for the beacon-chain to sync with the network. |
sync/initial-sync
Package initialsync is run by the beacon node when the local chain is behind the network's longest chain.
|
Package initialsync is run by the beacon node when the local chain is behind the network's longest chain. |
utils
Package utils defines utility functions for the beacon-chain.
|
Package utils defines utility functions for the beacon-chain. |
contracts
|
|
proto
|
|
bls
Package bls implements a go-wrapper around a C BLS library leveraging the BLS12-381 curve.
|
Package bls implements a go-wrapper around a C BLS library leveraging the BLS12-381 curve. |
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. |
legacyutil
Package legacyutil exists to convert Ethereum Serenity types to go-ethereum or Ethereum 1.0 types.
|
Package legacyutil exists to convert Ethereum Serenity types to go-ethereum or Ethereum 1.0 types. |
mclockutil
Package mclockutil is a wrapper for a monotonic clock source
|
Package mclockutil is a wrapper for a monotonic clock source |
p2p
Package p2p handles peer-to-peer networking for Ethereum Serenity clients.
|
Package p2p handles peer-to-peer networking for Ethereum Serenity clients. |
p2p/adapter/metric
Package metric contain some prometheus collectors for p2p services.
|
Package metric contain some prometheus collectors for p2p services. |
p2p/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. |
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 |
ssz
Package ssz implements the Simple Serialize algorithm specified at https://github.com/ethereum/eth2.0-specs/blob/master/specs/simple-serialize.md Currently directly supported types: bool uint8 uint16 uint32 uint64 bytes slice struct Types that can be implicitly supported: address: use byte slice of length 20 instead hash: use byte slice of length 32 instead if the hash is 32 bytes long, for example
|
Package ssz implements the Simple Serialize algorithm specified at https://github.com/ethereum/eth2.0-specs/blob/master/specs/simple-serialize.md Currently directly supported types: bool uint8 uint16 uint32 uint64 bytes slice struct Types that can be implicitly supported: address: use byte slice of length 20 instead hash: use byte slice of length 32 instead if the hash is 32 bytes long, for example |
testutil
Package testutil defines the testing utils such as asserting logs.
|
Package testutil defines the testing utils such as asserting logs. |
trieutil
Package trieutil contains definitions for building a Merkle trie for validator deposits as defined in the Ethereum Serenity specification, as well as utilities to generate and verify Merkle proofs.
|
Package trieutil contains definitions for building a Merkle trie for validator deposits as defined in the Ethereum Serenity specification, as well as utilities to generate and verify Merkle proofs. |
tools
|
|
bootnode
* * Bootnode * * A simple peer Kademlia distributed hash table (DHT) service for peer * discovery.
|
* * Bootnode * * A simple peer Kademlia distributed hash table (DHT) service 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. |
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. |
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.