![]() |
Bitcoin Core
0.21.1
P2P Digital Currency
|
| Transaction validation functions | |
| High-performance cache primitives | |
| These should be considered an implementation detail of the specific database | |
| Filesystem operations and types | |
| Utility functions used by the Bitcoin Qt UI | |
| Bitcoin protocol message types | |
| Internal RIPEMD-160 implementation | |
| Internal SHA-1 implementation | |
| Internal SHA-256 implementation | |
| Internal SHA-512 implementation | |
| Abstract class that implements BIP9-style threshold logic, and caches results | |
| Widget that shows a list of sending or receiving addresses | |
| Qt model of the address book in the core | |
| A decryption class for AES-256 | |
| An encryption class for AES-256 | |
| QSpinBox that uses fixed-point numbers internally and uses our own formatting/parsing functions | |
| Template mixin that adds -Wthread-safety locking annotations and lock order checking to a subset of the mutex API | |
| 256-bit unsigned big integer | |
| Multifunctional dialog to ask for passphrases | |
| Qt model providing information about connected peers, similar to the "getpeerinfo" RPC call | |
| Template base class for fixed-sized opaque blobs | |
| Template base class for unsigned big integers | |
| Base class for indices of blockchain data | |
| Class that handles the conversion from a command-line to a JSON-RPC request, as well as converting back to a JSON object that can be shown as result | |
| Interface for signature creators | |
| RAII class that provides access to a Berkeley database | |
| An instance of this class represents one database | |
| Bilingual messages: | |
| Display status of an in-progress BIP9 softfork | |
| Bitcoin address widget validator, checks for a valid bitcoin address | |
| Base58 entry widget validator, checks for valid characters and removes some whitespace | |
| Widget for entering bitcoin amounts | |
| Main Bitcoin application object | |
| Class encapsulating Bitcoin Core startup and shutdown | |
| Bitcoin GUI main class | |
| Bitcoin unit definitions | |
| Generate a new block, without valid proof-of-work | |
| Complete block filter struct as defined in BIP 157 | |
| BlockFilterIndex is used to store and retrieve block filters, hashes, and headers for a range of blocks by height | |
Maintains a tree of blocks (stored in m_block_index) which is consulted to determine where the most-work tip is | |
| Implementation of Hash named requirement for types that internally store a byte array | |
| Cachable amount subdivided into watchonly and spendable parts | |
| Access to the (IP) address database (peers.dat) | |
| A CService with information about it as peer | |
| Address book data | |
| Extended statistics about a CAddress | |
| Stochastical (IP) address manager | |
| Non-refcounted RAII wrapper for FILE* | |
| Access to the banlist database (banlist.dat) | |
| CBaseChainParams defines the base parameters (shared between bitcoin-cli and bitcoind) of a given instance of the Bitcoin system | |
| Nodes collect new transactions into a block, hash them into a hash tree, and scan through nonce values to make the block's hash satisfy proof-of-work requirements | |
| The block chain is a tree shaped structure starting with the genesis block at the root, with each block potentially having multiple candidates to be the next block | |
| Describes a place in the block chain to another node such that if the other node doesn't have the same branch, it can find a recent common trunk | |
| The BlockPolicyEstimator is used for estimating the feerate needed for a transaction to be included in a block within a certain number of blocks | |
| Access to the block database (blocks/index/) | |
| Undo information for a CBlock | |
| BloomFilter is a probabilistic filter which SPV clients provide so that we can filter the transactions we send them | |
| Non-refcounted RAII wrapper around a FILE* that implements a ring buffer to deserialize from | |
| An in-memory indexed chain of blocks | |
| CChainParams defines various tweakable parameters of a given instance of the Bitcoin system | |
| CChainState stores and provides an API to update our local knowledge of the current best chain | |
| Queue for verifications that have to be performed | |
| RAII-style controller object for a CCheckQueue that guarantees the passed queue is finished before continuing | |
| Signals for UI communication | |
| Coin Control Features | |
| A Coin in one level of the coins database caching hierarchy | |
| Abstract view on the open txout dataset | |
| CCoinsView backed by another CCoinsView | |
| CCoinsView that adds a memory cache for transactions to another CCoinsView | |
| Cursor for iterating over CoinsView state | |
| CCoinsView backed by the coin database (chainstate/) | |
| Specialization of CCoinsViewCursor to iterate over a CCoinsViewDB | |
| This is a minimally invasive approach to shutdown on LevelDB read errors from the chainstate, while keeping user interface out of the common library, which is shared between bitcoind, and bitcoin-qt and non-server tools | |
| CCoinsView that brings transactions from a mempool into view | |
| Encryption/decryption context with key information | |
| Double ended buffer combining vector and stream-like interfaces | |
| Batch of changes queued to be written to a CDBWrapper | |
| Used to marshal pointers into hashes for db storage | |
| Fee rate in satoshis per kilobyte: CAmount / kB | |
| A class for ChaCha20 256-bit stream cipher developed by Daniel J | |
| Provides an interface for creating and interacting with one or two chainstates: an IBD chainstate generated by downloading blocks, and an optional snapshot chainstate loaded from a UTXO snapshot | |
| Holds various statistics on transactions within a chain | |
| A hasher class for Bitcoin's 160-bit hash (SHA-256 + RIPEMD-160) | |
| A hasher class for Bitcoin's 256-bit hash (double SHA-256) | |
| Reads data from an underlying stream, while hashing the read data | |
| A writer stream (for serialization) that computes a 256-bit hash | |
| A rfc5869 HKDF implementation with HMAC_SHA256 and fixed key output length of 32 bytes (L=32) | |
| A hasher class for HMAC-SHA-256 | |
| A hasher class for HMAC-SHA-512 | |
| Inv message data | |
| An encapsulated private key | |
| A reference to a CKey: the Hash160 of its serialized public key | |
| A key from a CWallet's keypool | |
| Model for Bitcoin network client | |
| Main network | |
| Private key encryption is done based on a CMasterKey, which holds a salt and random encryption key | |
| Median filter over a stream of values | |
| Used to relay blocks as header + vector<merkle branch> to filtered nodes | |
| Legacy class used for deserializing vtxPrev for backwards compatibility | |
| Message header | |
| A mutable version of CTransaction | |
| Network address | |
| Transport protocol agnostic message container | |
| Information about a peer | |
| A UTXO entry | |
| A convenience class for constructing the CCoinsView* hierarchy used to facilitate access to the UTXO set | |
| Formatter for integers in CompactSize format | |
| Comparison function for sorting the getchaintips heads | |
| Comparator for CTxMemPool::txiter objects | |
| Sort an entry by min(score/size of entry's tx, score/size with all ancestors) | |
| Sort an entry by max(score/size of entry's tx, score/size with all descendants) | |
| Sort by feerate of entry (fee/size) in descending order This is only used for transaction relay, so we use GetFee() instead of GetModifiedFee() to avoid leaking prioritization information via the sort order | |
| Used to track blocks whose transactions were applied to the UTXO state as a part of a single ActivateBestChainStep call | |
| An outpoint - a combination of a transaction hash and an index n into its vout | |
| Data structure that represents a partial merkle tree | |
| An encapsulated public key | |
| Dialog for creating wallets | |
| Regression test | |
| A hasher class for RIPEMD-160 | |
| RollingBloomFilter is a probabilistic "keep track of most recently inserted" set | |
| RPC command dispatcher | |
| Simple class for background tasks that should be run periodically or once "after a while" | |
| Serialized script, used inside transaction inputs and outputs | |
| Check if transaction will be BIP 68 final in the next block to be created | |
| A reference to a CScript: the Hash160 of its serialization (see script.h) | |
| RAII-style semaphore lock | |
| Support for SERIALIZE_METHODS and READWRITE macro | |
| A combination of a network address (CNetAddr) and a (TCP) port | |
| A hasher class for SHA1 | |
| A hasher class for SHA-256 | |
| A hasher class for SHA-512 | |
| SipHash-2-4 | |
| Export a Qt table model to a CSV file | |
| Testnet (v3) | |
| The basic transaction that is broadcasted on the network and contained in blocks | |
| An input of a transaction | |
| CTxMemPool stores valid-according-to-the-current-best-chain transactions that may be included in the next block | |
| CTxMemPoolEntry stores data about the corresponding transaction, as well as data about all in-mempool transactions that depend on the transaction ("descendant" transactions) | |
| An output of a transaction | |
| Undo information for a CTransaction | |
| Serialization wrapper class for custom integers and enums | |
| Implement this to subscribe to events generated in validation | |
| RAII wrapper for VerifyDB: Verify consistency of the block and coin databases | |
| A CWallet maintains a set of transactions and balances, and provides the ability to create new transactions | |
| A transaction with a bunch of additional info that only the owner cares about | |
| RAII class that provides access to a WalletDatabase | |
| Default formatter | |
| Process default single requests | |
| Interface for parsed descriptor objects | |
| Cache for single descriptor's derived extended pubkeys | |
| Dummy data type to identify deserializing constructors | |
| RAII class that provides access to a DummyDatabase | |
| A dummy WalletDatabase that does nothing and never fails | |
| Users of this module must hold an ECCVerifyHandle | |
| Dialog for editing an address and associated information | |
| Fast randomness source | |
| Fillable signing provider that keeps keys in an address->secret map | |
| FlatFileSeq represents a sequence of numbered files storing raw data | |
| This implements a Golomb-coded set as defined in BIP 158 | |
| Process RPC generatetoaddress request | |
| A generic txid reference (txid or wtxid) | |
| Process getinfo requests | |
| "Help message" dialog box | |
| Event handler closure | |
| Event class | |
| Reply structure for request_done to fill in | |
| In-flight HTTP request | |
| Simple one-shot callback timer to be used by the RPC mechanism to e.g | |
| HTTP request work item | |
| Introduction screen (pre-GUI startup) | |
| Filter that generates and validates UTF-8, as well as collates UTF-16 surrogate pairs as specified in RFC4627 | |
| Wraps a LegacyScriptPubKeyMan so that it can be returned in a new unique_ptr | |
| OS-dependent allocation and deallocation of locked/pinned memory pages | |
| Pool for locked memory chunks | |
| Singleton class to keep track of locked (ie, non-swappable) memory, for use in std::allocator templates | |
| MacOS-specific Dock icon handler | |
| Macintosh-specific notification handler (supports UserNotificationCenter) | |
| The MainSignalsInstance manages a list of shared_ptr<CValidationInterface> callbacks | |
| Modal overlay to display information about the chain-sync state | |
| A signature creator for transactions | |
| Interface for message handling | |
| Process netinfo requests | |
| NodeContext struct containing references to chain state and connection state | |
| Cross-platform desktop notification client | |
| Preferences dialog | |
| Interface from Qt to configuration data structure for Bitcoin client | |
| Overview ("home") page widget | |
| A version of CTransaction with the PSBT format | |
| Qt model providing information about connected peers, similar to the "getpeerinfo" RPC call | |
| LockedPageAllocator specialized for OSes that don't try to be special snowflakes | |
| Implements a drop-in replacement for std::vector<T> which stores up to N elements directly (without heap allocation) | |
| Proxy address widget validator, checks for a valid proxy address | |
| Credentials for proxy authentication | |
| Holds the results of AnalyzePSBT (miscellaneous information about a PSBT) | |
| A structure for PSBTs which contain per-input information | |
| Holds an analysis of one input from a PSBT | |
| Dialog showing transaction details | |
| A structure for PSBTs which contains per output information | |
| Class for handling RPC timers (used for e.g | |
| Line edit that can be marked as "invalid" to show input validation feedback | |
| Dialog for requesting payment of bitcoins | |
| Model for list of recently generated payment requests / bitcoin: URIs | |
| A wrapper to reserve an address from a wallet | |
| Template used for reverse iteration in C++11 range-based for loops | |
| Local Bitcoin RPC console | |
| Opaque base class for timers returned by NewTimerFunc | |
| RPC timer "driver" | |
| Compact serializer for scripts | |
| Opaque data structured that holds a parsed ECDSA signature, supporting pubkey recovery | |
| Opaque data structured that holds a parsed ECDSA signature | |
| A group element of the secp256k1 curve, in affine coordinates | |
| A group element of the secp256k1 curve, in jacobian coordinates | |
| Opaque data structure that holds a keypair consisting of a secret and a public key | |
| Opaque data structure that holds a parsed and valid public key | |
| A scalar modulo the group order of the secp256k1 curve | |
| Opaque data structure that holds a parsed and valid "x-only" public key | |
| A pair of strings that can be aligned (through padding) with other Sections later on | |
| Keeps track of RPCArgs by transforming them into sections for the purpose of serializing everything to a single string | |
| Dialog for sending bitcoins | |
| A single entry in the dialog for sending bitcoins | |
| "Shutdown" window | |
| We're hashing a nonce into the entries themselves, so we don't need extra blinding in the set hash computation | |
| Signet | |
| Generate the signet tx corresponding to the given block | |
| An interface to be implemented by keystores that support signing | |
| Class used by CScheduler clients which may schedule multiple jobs which are required to be run serially | |
| Metadata describing a serialized version of a UTXO set from which an assumeutxo CChainState can be constructed | |
| A Span is an object that can refer to a contiguous sequence of objects | |
| Class for the splashscreen with information of the running client | |
| RAII class that provides access to a WalletDatabase | |
| An instance of this class represents one SQLite3 database | |
| Low-level handling for Tor control connection | |
| Controller that connects to Tor control socket, authenticate, then create and maintain an ephemeral onion service | |
| Reply from Tor, can be single or multi-line | |
| Provide a human-readable extended HTML description of a transaction | |
| Dialog showing transaction details | |
| Filter the transaction list according to pre-specified rules | |
| UI model for a transaction | |
| UI model for transaction status | |
| UI model for the transaction table of a wallet | |
| Widget showing the transaction list for a wallet, including a filter row | |
| The TransportDeserializer takes care of holding and deserializing the network receive buffer | |
| The TransportSerializer prepares messages for the network transport | |
| We will instantiate an instance of this class to track transactions that were included in a block | |
| DisconnectedBlockTransactions | |
| TxIndex is used to look up transactions included in the blockchain by hash | |
| Formatter for undo information for a CTxIn | |
| Information about a mempool transaction | |
| Wrapper for CTxOut that provides a more compact serialization | |
| Data structure to keep track of, and schedule, transaction downloads from peers | |
| 160-bit opaque blob | |
| 256-bit opaque blob | |
| Wrapper around std::unique_lock style lock for Mutex | |
| Wrapper for UniValue::VType, which includes typeAny: Used to denote don't care type | |
| Template for capturing information about block/transaction validation | |
| Serialization wrapper class for integers in VarInt format | |
| Formatter to serialize/deserialize vector elements using another formatter | |
| Minimal stream for reading from an existing vector by reference | |
| BIP 9 allows multiple softforks to be deployed in parallel | |
| Access to the wallet database | |
| WalletContext struct containing references to state shared between CWallet instances, like the reference to the chain interface, and the list of opened wallets | |
| Controller between interfaces::Node, WalletModel instances and the GUI | |
| An instance of this class represents one database | |
| Descriptor with some wallet metadata | |
| A container for embedding all wallet-related controls into BitcoinGUI | |
| Interface to Bitcoin wallet from Qt view code | |
| Data model for a walletmodel transaction | |
| RAII object to check and reserve a wallet rescan | |
| Testing setup and teardown for wallet | |
| Threshold condition checker that triggers when unknown versionbits are seen on the network | |
| CTxDestination subtype to encode any future Witness version | |
| Simple work queue for distributing work over multiple threads | |
| Simple wrapper class to serialize objects using a formatter; used by Using() | |
1.8.5