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
|
|
bootnode
bootnode runs a bootstrap node for the Ethereum Discovery Protocol.
|
bootnode runs a bootstrap node for the Ethereum Discovery Protocol. |
evm
evm executes EVM code snippets.
|
evm executes EVM code snippets. |
faucet
faucet is an Ether faucet backed by a light client.
|
faucet is an Ether faucet backed by a light client. |
geth
geth is the official command-line client for Ethereum.
|
geth is the official command-line client for Ethereum. |
p2psim
p2psim provides a command-line client for a simulation HTTP API.
|
p2psim provides a command-line client for a simulation HTTP API. |
rlpdump
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
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. |
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. |
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. |
Package trie implements Merkle Patricia Tries.
|
Package trie implements Merkle Patricia Tries. |
Click to show internal directories.
Click to hide internal directories.