Bitcoin Core  0.15.99
P2P Digital Currency
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 1234]
 Nbenchmark
 NConsensus
 NCuckooCacheNamespace CuckooCache provides high performance cache primitives
 NGUIUtilUtility functions used by the Bitcoin Qt UI
 Nmemusage
 Norg
 Ntinyformat
 CAbstractThresholdConditionCheckerAbstract class that implements BIP9-style threshold logic, and caches results
 CAddedNodeInfo
 CAddressBookPageWidget that shows a list of sending or receiving addresses
 CAddressTableEntry
 CAddressTableEntryLessThan
 CAddressTableModelQt model of the address book in the core
 CAddressTablePriv
 CAES128_ctx
 CAES128CBCDecrypt
 CAES128CBCEncrypt
 CAES128DecryptA decryption class for AES-128
 CAES128EncryptAn encryption class for AES-128
 CAES192_ctx
 CAES256_ctx
 CAES256CBCDecrypt
 CAES256CBCEncrypt
 CAES256DecryptA decryption class for AES-256
 CAES256EncryptAn encryption class for AES-256
 CAES_state
 CAmountSpinBoxQSpinBox that uses fixed-point numbers internally and uses our own formatting/parsing functions
 Cancestor_score
 CAnnotatedMixinTemplate mixin that adds -Wthread-safety locking annotations to a subset of the mutex API
 CArena
 CArgsManager
 Carith_uint256256-bit unsigned big integer
 CAskPassphraseDialogMultifunctional dialog to ask for passphrases
 CBannedNodeLessThan
 CBanTableModelQt model providing information about connected peers, similar to the "getpeerinfo" RPC call
 CBanTablePriv
 Cbase_blobTemplate base class for fixed-sized opaque blobs
 Cbase_uintTemplate base class for unsigned big integers
 CBaseRequestHandlerClass 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
 CBaseSignatureChecker
 CBaseSignatureCreatorVirtual base class for signature creators
 Cbench_ecdh_t
 Cbench_inv_t
 Cbench_recover_t
 Cbench_sign_t
 Cbenchmark_verify_t
 CBIP9Stats
 CBitcoinAddressCheckValidatorBitcoin address widget validator, checks for a valid bitcoin address
 CBitcoinAddressEntryValidatorBase58 entry widget validator, checks for valid characters and removes some whitespace
 CBitcoinAmountFieldWidget for entering bitcoin amounts
 CBitcoinApplicationMain Bitcoin application object
 CBitcoinCoreClass encapsulating Bitcoin Core startup and shutdown
 CBitcoinGUIBitcoin GUI main class
 CBitcoinUnitsBitcoin unit definitions
 CBlockAssemblerGenerate a new block, without valid proof-of-work
 CBlockHasher
 CBlockTransactions
 CBlockTransactionsRequest
 CCAccountAccount information
 CCAccountingEntryInternal transfers
 CCachingTransactionSignatureChecker
 CCAddrDBAccess to the (IP) address database (peers.dat)
 CCAddressA CService with information about it as peer
 CCAddressBookDataAddress book data
 CCAddrInfoExtended statistics about a CAddress
 CCAddrManStochastical (IP) address manager
 CCAffectedKeysVisitor
 CCallback
 CCAutoFileNon-refcounted RAII wrapper for FILE*
 CCBanDBAccess to the banlist database (banlist.dat)
 CCBanEntry
 CCBase58DataBase class for all base58-encoded data
 CCBaseChainParamsCBaseChainParams defines the base parameters (shared between bitcoin-cli and bitcoind) of a given instance of the Bitcoin system
 CCBaseMainParamsMain network
 CCBaseRegTestParams
 CCBaseTestNetParamsTestnet (v3)
 CCBasicKeyStoreBasic key store, that keeps keys in an address->secret map
 CCBitcoinExtKeyBase
 CCBitcoinLevelDBLogger
 CCBitcoinSecretA base58-encoded secret key
 CCBlock
 CCBlockFileInfo
 CCBlockHeaderNodes 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
 CCBlockHeaderAndShortTxIDs
 CCBlockIndexThe 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
 CCBlockLocatorDescribes 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
 CCBlockPolicyEstimatorWe want to be able to estimate feerates that are needed on tx's to be included in a certain number of blocks
 CCBlockTemplate
 CCBlockTreeDBAccess to the block database (blocks/index/)
 CCBlockUndoUndo information for a CBlock
 CCBloomFilterBloomFilter is a probabilistic filter which SPV clients provide so that we can filter the transactions we send them
 CCBufferedFileNon-refcounted RAII wrapper around a FILE* that implements a ring buffer to deserialize from
 CCChainAn in-memory indexed chain of blocks
 CCChainParamsCChainParams defines various tweakable parameters of a given instance of the Bitcoin system
 CCCheckpointData
 CCCheckQueueQueue for verifications that have to be performed
 CCCheckQueueControlRAII-style controller object for a CCheckQueue that guarantees the passed queue is finished before continuing
 CCClientUIInterfaceSignals for UI communication
 CCCoin
 CCCoinControlCoin Control Features
 CCCoinControlWidgetItem
 CCCoinsCacheEntry
 CCCoinsStats
 CCCoinsViewAbstract view on the open txout dataset
 CCCoinsViewBackedCCoinsView backed by another CCoinsView
 CCCoinsViewCacheCCoinsView that adds a memory cache for transactions to another CCoinsView
 CCCoinsViewCursorCursor for iterating over CoinsView state
 CCCoinsViewDBCCoinsView backed by the coin database (chainstate/)
 CCCoinsViewDBCursorSpecialization of CCoinsViewCursor to iterate over a CCoinsViewDB
 CCCoinsViewErrorCatcherThis 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
 CCCoinsViewMemPoolCCoinsView that brings transactions from a memorypool into view
 CCCombinedBan
 CCCompactSize
 CCConnectionFailed
 CCConnman
 CCCriticalBlockWrapper around std::unique_lock<CCriticalSection>
 CCCriticalSectionWrapped mutex: supports recursive locking, but no waiting TODO: We should move away from using the recursive lock by default
 CCCrypterEncryption/decryption context with key information
 CCCryptoKeyStoreKeystore which keeps the private keys encrypted
 CCDataStreamDouble ended buffer combining vector and stream-like interfaces
 CCDBRAII class that provides access to a Berkeley database
 CCDBBatchBatch of changes queued to be written to a CDBWrapper
 CCDBEnv
 CCDBIterator
 CCDBWrapper
 CCDiskBlockIndexUsed to marshal pointers into hashes for db storage
 CCDiskBlockPos
 CCDiskTxPos
 CCDNSSeedData
 CCExtKey
 CCExtPubKey
 CCFeeRateFee rate in satoshis per kilobyte: CAmount / kB
 CCFlatDataWrapper for serializing arrays and POD
 CChaCha20A PRNG class for ChaCha20
 CChainTxData
 CCHash160A hasher class for Bitcoin's 160-bit hash (SHA-256 + RIPEMD-160)
 CCHash256A hasher class for Bitcoin's 256-bit hash (double SHA-256)
 CCHashVerifierReads data from an underlying stream, while hashing the read data
 CCHashWriterA writer stream (for serialization) that computes a 256-bit hash
 CCHDChain
 CCHMAC_SHA256A hasher class for HMAC-SHA-256
 CCHMAC_SHA512A hasher class for HMAC-SHA-512
 CCImportingNow
 CCInit
 CCInputCoin
 CCInvInv message data
 CCKeyAn encapsulated private key
 CCKeyIDA reference to a CKey: the Hash160 of its serialized public key
 CCKeyMetadata
 CCKeyPoolA key pool entry
 CCKeyStoreA virtual base class for key stores
 CClientModelModel for Bitcoin network client
 CCLogCategoryActive
 CCLogCategoryDesc
 CCMainCleanup
 CCMainParamsMain network
 CCMainSignals
 CCMasterKeyPrivate key encryption is done based on a CMasterKey, which holds a salt and random encryption key
 CCMedianFilterMedian filter over a stream of values
 CCMerkleBlockUsed to relay blocks as header + vector<merkle branch> to filtered nodes
 CCMerkleTxA transaction with a merkle branch linking it to the block chain
 CCMessageHeaderMessage header
 CCMutableTransactionA mutable version of CTransaction
 CCNetAddrIP address (IPv6, or IPv4 using mapped IPv6 range (::FFFF:0:0/96))
 CCNetCleanup
 CCNetMessage
 CCNetMsgMaker
 CCNetProcessingCleanup
 CCNodeInformation about a peer
 CCNodeCombinedStats
 CCNodeStateStats
 CCNodeStats
 CCNoDestination
 CCoinA UTXO entry
 CCoinControlDialog
 CCoinControlTreeWidget
 CCombinerAll
 CCompareBlocksByHeightComparison function for sorting the getchaintips heads
 CCompareCTxMemPoolIterComparator for CTxMemPool::txiter objects
 CCompareInvMempoolOrder
 CCompareModifiedEntry
 CCompareTxIterByAncestorCount
 CCompareTxMemPoolEntryByAncestorFee
 CCompareTxMemPoolEntryByDescendantScoreSort an entry by max(score/size of entry's tx, score/size with all descendants)
 CCompareTxMemPoolEntryByEntryTime
 CCompareTxMemPoolEntryByScoreSort by score of entry ((fee+delta)/size) in descending order
 CCompareValueOnly
 CConnectTraceUsed to track blocks whose transactions were applied to the UTXO state as a part of a single ActivateBestChainStep call
 CCOrphanTx
 CCOutPointAn outpoint - a combination of a transaction hash and an index n into its vout
 CCOutput
 CCOutputEntry
 CCPartialMerkleTreeData structure that represents a partial merkle tree
 CCPubKeyAn encapsulated public key
 CCRecipient
 CCRegTestParamsRegression test
 CCReserveKeyA key allocated from the key pool
 CCReserveScript
 CCRIPEMD160A hasher class for RIPEMD-160
 CCRollingBloomFilterRollingBloomFilter is a probabilistic "keep track of most recently inserted" set
 CCRPCCommand
 CCRPCConvertParam
 CCRPCConvertTable
 CCRPCTableBitcoin RPC command dispatcher
 CCScheduler
 CCScriptSerialized script, used inside transaction inputs and outputs
 CCScriptCheckClosure representing one script verification Note that this stores references to the spending transaction
 CCScriptCompressorCompact serializer for scripts
 CCScriptIDA reference to a CScript: the Hash160 of its serialization (see script.h)
 CCScriptNum
 CCScriptWitness
 CCSemaphore
 CCSemaphoreGrantRAII-style semaphore lock
 CCSerActionSerializeSupport for ADD_SERIALIZE_METHODS and READWRITE macro
 CCSerActionUnserialize
 CCSerializedNetMsg
 CCServiceA combination of a network address (CNetAddr) and a (TCP) port
 CCSHA1A hasher class for SHA1
 CCSHA256A hasher class for SHA-256
 CCSHA512A hasher class for SHA-512
 CCSipHasherSipHash-2-4
 CCSizeComputer
 CCSubNet
 CCSVModelWriterExport a Qt table model to a CSV file
 Cctaes_test
 CCTestNetParamsTestnet (v3)
 CCThreadInterrupt
 CCTransactionThe basic transaction that is broadcasted on the network and contained in blocks
 CCTranslationInterfaceSignals for translation
 CCTxInAn input of a transaction
 CCTxMemPoolCTxMemPool stores valid-according-to-the-current-best-chain transactions that may be included in the next block
 CCTxMemPoolEntryCTxMemPoolEntry stores data about the corresponding transaction, as well as data about all in-mempool transactions that depend on the transaction ("descendant" transactions)
 CCTxMemPoolModifiedEntry
 CCTxOutAn output of a transaction
 CCTxOutCompressorWrapper for CTxOut that provides a more compact serialization
 CCTxUndoUndo information for a CTransaction
 CCUpdatedBlock
 CCValidationInterface
 CCValidationStateCapture information about block/transaction validation
 CCVarInt
 CCVectorWriter
 CCVerifyDBRAII wrapper for VerifyDB: Verify consistency of the block and coin databases
 CCWalletA CWallet is an extension of a keystore, which also maintains a set of transactions and balances, and provides the ability to create new transactions
 CCWalletDBAccess to the wallet database
 CCWalletDBWrapperAn instance of this class represents one database
 CCWalletKeyPrivate key that includes an expiration date in case it never gets used
 CCWalletScanState
 CCWalletTxA transaction with a bunch of additional info that only the owner cares about
 CCZMQAbstractNotifier
 CCZMQAbstractPublishNotifier
 CCZMQNotificationInterface
 CCZMQPublishHashBlockNotifier
 CCZMQPublishHashTransactionNotifier
 CCZMQPublishRawBlockNotifier
 CCZMQPublishRawTransactionNotifier
 Cdbwrapper_error
 CDefaultRequestHandlerProcess default single requests
 CDereferencingComparator
 Cdescendant_score
 Cdeserialize_typeDummy data type to identify deserializing constructors
 CDisconnectedBlockTransactions
 CDummySignatureCreatorA signature creator that just produces 72-byte empty signatures
 CECCVerifyHandleUsers of this module must hold an ECCVerifyHandle
 CEditAddressDialogDialog for editing an address and associated information
 Centry_time
 CEstimationResult
 CEstimatorBucket
 CFastRandomContextFast randomness source
 CFeeCalculation
 CFeeFilterRounder
 CFreespaceChecker
 CFunctionCallback
 CGetinfoRequestHandlerProcess getinfo requests
 CHelpMessageDialog"Help message" dialog box
 CHTTPClosureEvent handler closure
 CHTTPEventEvent class
 CHTTPPathHandler
 CHTTPReplyReply structure for request_done to fill in
 CHTTPRequestIn-flight HTTP request
 CHTTPRPCTimerSimple one-shot callback timer to be used by the RPC mechanism to e.g
 CHTTPRPCTimerInterface
 CHTTPWorkItemHTTP request work item
 Cindirectmap
 Cinsertion_order
 CIntroIntroduction screen (pre-GUI startup)
 CIteratorComparator
 CJSONRPCRequest
 CJSONUTF8StringFilterFilter that generates and validates UTF-8, as well as collates UTF-16 surrogate pairs as specified in RFC4627
 ClimitedmapSTL-like map container that only keeps the N elements with the highest value
 CLimitedString
 CListCoinsTestingSetup
 CLocalServiceInfo
 CLockedPageAllocatorOS-dependent allocation and deallocation of locked/pinned memory pages
 CLockedPoolPool for locked memory chunks
 CLockedPoolManagerSingleton class to keep track of locked (ie, non-swappable) memory, for use in std::allocator templates
 CLockPoints
 CMacDockIconHandlerMacintosh-specific dock icon handler
 CMacNotificationHandlerMacintosh-specific notification handler (supports UserNotificationCenter)
 CMainSignalsInstance
 Cmempoolentry_txid
 Cmining_score
 CModalOverlayModal overlay to display information about the chain-sync state
 Cmodifiedentry_iter
 CMutableTransactionSignatureChecker
 CMutableTransactionSignatureCreator
 CNetEventsInterfaceInterface for message handling
 CNetworkStyle
 CNodeEvictionCandidate
 CNodeLessThan
 CNotificatorCross-platform desktop notification client
 CNSBundle(returnCorrectIdentifier)
 COpenURIDialog
 COptionsDialogPreferences dialog
 COptionsModelInterface from Qt to configuration data structure for Bitcoin client
 COverrideStream
 COverviewPageOverview ("home") page widget
 CPartiallyDownloadedBlock
 CPaymentRequestPlus
 CPaymentServer
 CPeerLogicValidation
 CPeerTableModelQt model providing information about connected peers, similar to the "getpeerinfo" RPC call
 CPeerTablePriv
 CPerBlockConnectTrace
 CPlatformStyle
 CPosixLockedPageAllocatorLockedPageAllocator specialized for OSes that don't try to be special snowflakes
 CPrecomputedTransactionData
 CPrefilledTransaction
 CprevectorImplements a drop-in replacement for std::vector<T> which stores up to N elements directly (without heap allocation)
 CProxyAddressValidatorProxy address widget validator, checks for a valid proxy address
 CProxyCredentialsCredentials for proxy authentication
 CproxyType
 CQRImageWidget
 CQtRPCTimerBaseClass for handling RPC timers (used for e.g
 CQtRPCTimerInterface
 CQValidatedLineEditLine edit that can be marked as "invalid" to show input validation feedback
 CQValueComboBox
 CReceiveCoinsDialogDialog for requesting payment of bitcoins
 CReceiveRequestDialog
 CRecentRequestEntry
 CRecentRequestEntryLessThan
 CRecentRequestsTableModelModel for list of recently generated payment requests / bitcoin: URIs
 Creverse_lockAn RAII-style reverse lock
 Creverse_rangeTemplate used for reverse iteration in C++11 range-based for loops
 CRPCConsoleLocal Bitcoin RPC console
 CRPCExecutor
 CRPCTimerBaseOpaque base class for timers returned by NewTimerFunc
 CRPCTimerInterfaceRPC timer "driver"
 CSaltedOutpointHasher
 CSaltedTxidHasher
 Cscriptnum_error
 Csecp256k1_callback
 Csecp256k1_context_struct
 Csecp256k1_ecdsa_recoverable_signatureOpaque data structured that holds a parsed ECDSA signature, supporting pubkey recovery
 Csecp256k1_ecdsa_signatureOpaque data structured that holds a parsed ECDSA signature
 Csecp256k1_ecmult_context
 Csecp256k1_ecmult_gen_context
 Csecp256k1_fe
 Csecp256k1_fe_storage
 Csecp256k1_geA group element of the secp256k1 curve, in affine coordinates
 Csecp256k1_ge_storage
 Csecp256k1_gejA group element of the secp256k1 curve, in jacobian coordinates
 Csecp256k1_hmac_sha256_t
 Csecp256k1_num
 Csecp256k1_pubkeyOpaque data structure that holds a parsed and valid public key
 Csecp256k1_rfc6979_hmac_sha256_t
 Csecp256k1_scalarA scalar modulo the group order of the secp256k1 curve
 Csecp256k1_sha256_t
 CSecp256k1Init
 Csecure_allocator
 CSeedSpec6
 CSendCoinsDialogDialog for sending bitcoins
 CSendCoinsEntryA single entry in the dialog for sending bitcoins
 CSendCoinsRecipient
 CSendConfirmationDialog
 CShutdownWindow"Shutdown" window
 CSignatureCacheHasherWe're hashing a nonce into the entries themselves, so we don't need extra blinding in the set hash computation
 CSignatureData
 CSignVerifyMessageDialog
 CSingleThreadedSchedulerClientClass used by CScheduler clients which may schedule multiple jobs which are required to be run serially
 CSplashScreenClass for the splashscreen with information of the running client
 CSSLVerifyError
 Csubmitblock_StateCatcher
 Ctallyitem
 CTestCrypter
 CTorControlConnectionLow-level handling for Tor control connection
 CTorControllerController that connects to Tor control socket, authenticate, then create and maintain an ephemeral hidden service
 CTorControlReplyReply from Tor, can be single or multi-line
 CTrafficGraphWidget
 CTransactionCompressor
 CTransactionDescProvide a human-readable extended HTML description of a transaction
 CTransactionDescDialogDialog showing transaction details
 CTransactionFilterProxyFilter the transaction list according to pre-specified rules
 CTransactionNotification
 CTransactionRecordUI model for a transaction
 CTransactionSignatureChecker
 CTransactionSignatureCreatorA signature creator for transactions
 CTransactionStatusUI model for transaction status
 CTransactionTableModelUI model for the transaction table of a wallet
 CTransactionTablePriv
 CTransactionViewWidget showing the transaction list for a wallet, including a filter row
 CTxConfirmStatsWe will instantiate an instance of this class to track transactions that were included in a block
 Ctxid_indexDisconnectedBlockTransactions
 CTxInUndoDeserializer
 CTxInUndoSerializerUndo information for a CTxIn
 CTxLessThan
 CTxMempoolInfoInformation about a mempool transaction
 CTxViewDelegate
 Cuint160160-bit opaque blob
 Cuint256256-bit opaque blob
 Cuint_error
 CUnitDisplayStatusBarControl
 CUniValue
 CUniValueTypeWrapper for UniValue::VType, which includes typeAny: Used to denote don't care type
 Cupdate_ancestor_state
 Cupdate_descendant_state
 Cupdate_fee_delta
 Cupdate_for_parent_inclusion
 Cupdate_lock_points
 CVBDeploymentInfo
 CVersionBitsCache
 CWalletFrameA container for embedding all wallet-related controls into BitcoinGUI
 CWalletModelInterface to Bitcoin wallet from Qt view code
 CWalletModelTransactionData model for a walletmodel transaction
 CWalletTestingSetupTesting setup and teardown for wallet
 CWalletView
 CWarningBitsConditionCheckerThreshold condition checker that triggers when unknown versionbits are seen on the network
 CWitnessifier
 CWitnessUnknownCTxDestination subtype to encode any future Witness version
 CWitnessV0KeyHash
 CWitnessV0ScriptHash
 CWorkQueueSimple work queue for distributing work over multiple threads
 CX509Deleter
 CX509StoreDeleter
 Czero_after_free_allocator