Directories
¶
| Path | Synopsis |
|---|---|
|
Package accounts implements high level Ethereum account management.
|
Package accounts implements high level Ethereum account management. |
|
abi
Package abi implements the Ethereum ABI (Application Binary Interface).
|
Package abi implements the Ethereum ABI (Application Binary Interface). |
|
abi/bind
Package bind generates Ethereum contract Go bindings.
|
Package bind generates Ethereum contract Go bindings. |
|
keystore
Package keystore implements encrypted storage of secp256k1 private keys.
|
Package keystore implements encrypted storage of secp256k1 private keys. |
|
usbwallet
Package usbwallet implements support for USB hardware wallets.
|
Package usbwallet implements support for USB hardware wallets. |
|
usbwallet/trezor
Package trezor contains the wire protocol.
|
Package trezor contains the wire protocol. |
|
beacon
|
|
|
merkle
Package merkle implements proof verifications in binary merkle trees.
|
Package merkle implements proof verifications in binary merkle trees. |
|
types
Package types implements a few types of the beacon chain for light client usage.
|
Package types implements a few types of the beacon chain for light client usage. |
|
cmd
|
|
|
abidump
command
|
|
|
abigen
command
|
|
|
bootnode
command
bootnode runs a bootstrap node for the Ethereum Discovery Protocol.
|
bootnode runs a bootstrap node for the Ethereum Discovery Protocol. |
|
clef
command
|
|
|
devp2p
command
|
|
|
ethkey
command
|
|
|
evm
command
evm executes EVM code snippets.
|
evm executes EVM code snippets. |
|
faucet
command
faucet is an Ether faucet backed by a light client.
|
faucet is an Ether faucet backed by a light client. |
|
geth
command
geth is the official command-line client for Ethereum.
|
geth is the official command-line client for Ethereum. |
|
p2psim
command
p2psim provides a command-line client for a simulation HTTP API.
|
p2psim provides a command-line client for a simulation HTTP API. |
|
rlpdump
command
rlpdump is a pretty-printer for RLP data.
|
rlpdump is a pretty-printer for RLP data. |
|
utils
Package utils contains internal helper functions for go-ethereum commands.
|
Package utils contains internal helper functions for go-ethereum commands. |
|
Package common contains various helper functions.
|
Package common contains various helper functions. |
|
bitutil
Package bitutil implements fast bitwise operations.
|
Package bitutil implements fast bitwise operations. |
|
compiler
Package compiler wraps the Solidity and Vyper compiler executables (solc; vyper).
|
Package compiler wraps the Solidity and Vyper compiler executables (solc; vyper). |
|
hexutil
Package hexutil implements hex encoding with 0x prefix.
|
Package hexutil implements hex encoding with 0x prefix. |
|
lru
Package lru implements generically-typed LRU caches.
|
Package lru implements generically-typed LRU caches. |
|
math
Package math provides integer math utilities.
|
Package math provides integer math utilities. |
|
mclock
Package mclock is a wrapper for a monotonic clock source
|
Package mclock is a wrapper for a monotonic clock source |
|
prque
Package prque implements a priority queue data structure supporting arbitrary value types and int64 priorities.
|
Package prque implements a priority queue data structure supporting arbitrary value types and int64 priorities. |
|
Package consensus implements different Ethereum consensus engines.
|
Package consensus implements different Ethereum consensus engines. |
|
clique
Package clique implements the proof-of-authority consensus engine.
|
Package clique implements the proof-of-authority consensus engine. |
|
ethash
Package ethash implements the ethash proof-of-work consensus engine.
|
Package ethash implements the ethash proof-of-work consensus engine. |
|
Package core implements the Ethereum consensus protocol.
|
Package core implements the Ethereum consensus protocol. |
|
asm
Package asm provides support for dealing with EVM assembly instructions (e.g., disassembling them).
|
Package asm provides support for dealing with EVM assembly instructions (e.g., disassembling them). |
|
bloombits
Package bloombits implements bloom filtering on batches of data.
|
Package bloombits implements bloom filtering on batches of data. |
|
forkid
Package forkid implements EIP-2124 (https://eips.ethereum.org/EIPS/eip-2124).
|
Package forkid implements EIP-2124 (https://eips.ethereum.org/EIPS/eip-2124). |
|
rawdb
Package rawdb contains a collection of low level database accessors.
|
Package rawdb contains a collection of low level database accessors. |
|
state
Package state provides a caching layer atop the Ethereum state trie.
|
Package state provides a caching layer atop the Ethereum state trie. |
|
state/snapshot
Package snapshot implements a journalled, dynamic state dump.
|
Package snapshot implements a journalled, dynamic state dump. |
|
txpool/legacypool
Package legacypool implements the normal EVM execution transaction pool.
|
Package legacypool implements the normal EVM execution transaction pool. |
|
types
Package types contains data types related to Ethereum consensus.
|
Package types contains data types related to Ethereum consensus. |
|
vm
Package vm implements the Ethereum Virtual Machine.
|
Package vm implements the Ethereum Virtual Machine. |
|
vm/runtime
Package runtime provides a basic execution model for executing EVM code.
|
Package runtime provides a basic execution model for executing EVM code. |
|
blake2b
Package blake2b implements the BLAKE2b hash algorithm defined by RFC 7693 and the extendable output function (XOF) BLAKE2Xb.
|
Package blake2b implements the BLAKE2b hash algorithm defined by RFC 7693 and the extendable output function (XOF) BLAKE2Xb. |
|
bn256
Package bn256 implements the Optimal Ate pairing over a 256-bit Barreto-Naehrig curve.
|
Package bn256 implements the Optimal Ate pairing over a 256-bit Barreto-Naehrig curve. |
|
bn256/cloudflare
Package bn256 implements a particular bilinear group at the 128-bit security level.
|
Package bn256 implements a particular bilinear group at the 128-bit security level. |
|
bn256/google
Package bn256 implements a particular bilinear group.
|
Package bn256 implements a particular bilinear group. |
|
kzg4844
Package kzg4844 implements the KZG crypto for EIP-4844.
|
Package kzg4844 implements the KZG crypto for EIP-4844. |
|
secp256k1
Package secp256k1 wraps the bitcoin secp256k1 C library.
|
Package secp256k1 wraps the bitcoin secp256k1 C library. |
|
Package eth implements the Ethereum protocol.
|
Package eth implements the Ethereum protocol. |
|
catalyst
Package catalyst implements the temporary eth1/eth2 RPC integration.
|
Package catalyst implements the temporary eth1/eth2 RPC integration. |
|
downloader
Package downloader contains the manual full chain synchronisation.
|
Package downloader contains the manual full chain synchronisation. |
|
ethconfig
Package ethconfig contains the configuration of the ETH and LES protocols.
|
Package ethconfig contains the configuration of the ETH and LES protocols. |
|
fetcher
Package fetcher contains the announcement based header, blocks or transaction synchronisation.
|
Package fetcher contains the announcement based header, blocks or transaction synchronisation. |
|
filters
Package filters implements an ethereum filtering system for block, transactions and log events.
|
Package filters implements an ethereum filtering system for block, transactions and log events. |
|
tracers
Package tracers is a manager for transaction tracing engines.
|
Package tracers is a manager for transaction tracing engines. |
|
tracers/js/internal/tracers
Package tracers contains the actual JavaScript tracer assets.
|
Package tracers contains the actual JavaScript tracer assets. |
|
Package ethclient provides a client for the Ethereum RPC API.
|
Package ethclient provides a client for the Ethereum RPC API. |
|
gethclient
Package gethclient provides an RPC client for geth-specific APIs.
|
Package gethclient provides an RPC client for geth-specific APIs. |
|
Package ethdb defines the interfaces for an Ethereum data store.
|
Package ethdb defines the interfaces for an Ethereum data store. |
|
leveldb
Package leveldb implements the key-value database layer based on LevelDB.
|
Package leveldb implements the key-value database layer based on LevelDB. |
|
memorydb
Package memorydb implements the key-value database layer based on memory maps.
|
Package memorydb implements the key-value database layer based on memory maps. |
|
pebble
Package pebble implements the key-value database layer based on pebble.
|
Package pebble implements the key-value database layer based on pebble. |
|
remotedb
Package remotedb implements the key-value database layer based on a remote geth node.
|
Package remotedb implements the key-value database layer based on a remote geth node. |
|
Package ethstats implements the network stats reporting service.
|
Package ethstats implements the network stats reporting service. |
|
Package event deals with subscriptions to real-time events.
|
Package event deals with subscriptions to real-time events. |
|
Package graphql provides a GraphQL interface to Ethereum node data.
|
Package graphql provides a GraphQL interface to Ethereum node data. |
|
internal
|
|
|
debug
Package debug interfaces Go runtime debugging facilities.
|
Package debug interfaces Go runtime debugging facilities. |
|
ethapi
Package ethapi implements the general Ethereum API functions.
|
Package ethapi implements the general Ethereum API functions. |
|
guide
Package guide is a small test suite to ensure snippets in the dev guide work.
|
Package guide is a small test suite to ensure snippets in the dev guide work. |
|
jsre
Package jsre provides execution environment for JavaScript.
|
Package jsre provides execution environment for JavaScript. |
|
jsre/deps
Package deps contains the console JavaScript dependencies Go embedded.
|
Package deps contains the console JavaScript dependencies Go embedded. |
|
syncx
Package syncx contains exotic synchronization primitives.
|
Package syncx contains exotic synchronization primitives. |
|
testlog
Package testlog provides a log handler for unit tests.
|
Package testlog provides a log handler for unit tests. |
|
utesting
Package utesting provides a standalone replacement for package testing.
|
Package utesting provides a standalone replacement for package testing. |
|
version
Package version implements reading of build version information.
|
Package version implements reading of build version information. |
|
web3ext
Package web3ext contains geth specific web3.js extensions.
|
Package web3ext contains geth specific web3.js extensions. |
|
Package les implements the Light Ethereum Subprotocol.
|
Package les implements the Light Ethereum Subprotocol. |
|
catalyst
Package catalyst implements the temporary eth1/eth2 RPC integration.
|
Package catalyst implements the temporary eth1/eth2 RPC integration. |
|
downloader
Package downloader is a temporary package whilst working on the eth/66 blocking refactors.
|
Package downloader is a temporary package whilst working on the eth/66 blocking refactors. |
|
fetcher
Package fetcher is a temporary package whilst working on the eth/66 blocking refactors.
|
Package fetcher is a temporary package whilst working on the eth/66 blocking refactors. |
|
flowcontrol
Package flowcontrol implements a client side flow control mechanism
|
Package flowcontrol implements a client side flow control mechanism |
|
Package light implements on-demand retrieval capable state and chain objects for the Ethereum Light Client.
|
Package light implements on-demand retrieval capable state and chain objects for the Ethereum Light Client. |
|
Package log15 provides an opinionated, simple toolkit for best-practice logging that is both human and machine readable.
|
Package log15 provides an opinionated, simple toolkit for best-practice logging that is both human and machine readable. |
|
Go port of Coda Hale's Metrics library
|
Go port of Coda Hale's Metrics library |
|
exp
Hook go-metrics into expvar on any /debug/metrics request, load all vars from the registry into expvar, and execute regular expvar handler
|
Hook go-metrics into expvar on any /debug/metrics request, load all vars from the registry into expvar, and execute regular expvar handler |
|
prometheus
Package prometheus exposes go-metrics into a Prometheus format.
|
Package prometheus exposes go-metrics into a Prometheus format. |
|
Package miner implements Ethereum block creation and mining.
|
Package miner implements Ethereum block creation and mining. |
|
stress/clique
command
This file contains a miner stress test based on the Clique consensus engine.
|
This file contains a miner stress test based on the Clique consensus engine. |
|
Package node sets up multi-protocol Ethereum nodes.
|
Package node sets up multi-protocol Ethereum nodes. |
|
Package p2p implements the Ethereum p2p network protocols.
|
Package p2p implements the Ethereum p2p network protocols. |
|
discover
Package discover implements the Node Discovery Protocol.
|
Package discover implements the Node Discovery Protocol. |
|
discover/v4wire
Package v4wire implements the Discovery v4 Wire Protocol.
|
Package v4wire implements the Discovery v4 Wire Protocol. |
|
dnsdisc
Package dnsdisc implements node discovery via DNS (EIP-1459).
|
Package dnsdisc implements node discovery via DNS (EIP-1459). |
|
enr
Package enr implements Ethereum Node Records as defined in EIP-778.
|
Package enr implements Ethereum Node Records as defined in EIP-778. |
|
msgrate
Package msgrate allows estimating the throughput of peers for more balanced syncs.
|
Package msgrate allows estimating the throughput of peers for more balanced syncs. |
|
nat
Package nat provides access to common network port mapping protocols.
|
Package nat provides access to common network port mapping protocols. |
|
netutil
Package netutil contains extensions to the net package.
|
Package netutil contains extensions to the net package. |
|
rlpx
Package rlpx implements the RLPx transport protocol.
|
Package rlpx implements the RLPx transport protocol. |
|
simulations
Package simulations simulates p2p networks.
|
Package simulations simulates p2p networks. |
|
simulations/examples
command
|
|
|
Package rlp implements the RLP serialization format.
|
Package rlp implements the RLP serialization format. |
|
internal/rlpstruct
Package rlpstruct implements struct processing for RLP encoding/decoding.
|
Package rlpstruct implements struct processing for RLP encoding/decoding. |
|
rlpgen
command
|
|
|
Package rpc implements bi-directional JSON-RPC 2.0 on multiple transports.
|
Package rpc implements bi-directional JSON-RPC 2.0 on multiple transports. |
|
signer
|
|
|
fourbyte
Package fourbyte contains the 4byte database.
|
Package fourbyte contains the 4byte database. |
|
Package tests implements execution of Ethereum JSON tests.
|
Package tests implements execution of Ethereum JSON tests. |
|
fuzzers/difficulty/debug
command
|
|
|
fuzzers/les/debug
command
|
|
|
fuzzers/rangeproof/debug
command
|
|
|
fuzzers/snap/debug
command
|
|
|
fuzzers/stacktrie/debug
command
|
|
|
fuzzers/vflux/debug
command
|
|
|
Package trie implements Merkle Patricia Tries.
|
Package trie implements Merkle Patricia Tries. |
Click to show internal directories.
Click to hide internal directories.