Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/cruzbit/cruzbit
/ types & classes
Types & classes
70 in github.com/cruzbit/cruzbit
⨍
Functions
346
◇
Types & classes
70
↓ 1 callers
TypeAlias
BranchType
BranchType indicates the type of branch a particular block resides on. Only blocks currently on the main branch are considered confirmed and only tran
ledger.go:14
↓ 1 callers
TypeAlias
Signature
SHA3-256 hash Signature is a transaction's signature.
transaction.go:37
Struct
BalanceCache
BalanceCache maintains a partial unconfirmed view of the ledger. It's used by Ledger when (dis-)connecting blocks and by TransactionQueueMemory when d
balance_cache.go:13
Struct
BalanceMessage
BalanceMessage is used to send a public key's balance to a peer. Type: "balance".
protocol.go:75
Struct
BalancesMessage
BalancesMessage is used to send a public key balances to a peer. Type: "balances".
protocol.go:91
Struct
Block
Block represents a block in the block chain. It has a header and a list of transactions. As blocks are connected their transactions affect the underly
block.go:20
Struct
BlockHeader
BlockHeader contains data used to determine block validity and its place in the block chain.
block.go:27
Struct
BlockHeaderHasher
BlockHeaderHasher is used to more efficiently hash JSON serialized block headers while mining.
block_header_hasher.go:17
Struct
BlockHeaderMessage
BlockHeaderMessage is used to send a peer a block's header. Type: "block_header".
protocol.go:56
TypeAlias
BlockID
BlockID is a block's unique identifier.
block.go:40
Struct
BlockMessage
BlockMessage is used to send a peer a complete block. Type: "block".
protocol.go:37
Struct
BlockQueue
BlockQueue is a queue of blocks to download.
block_queue.go:13
Interface
BlockStorage
BlockStorage is an interface for storing blocks and their transactions.
block_storage.go:7
Struct
BlockStorageDisk
BlockStorageDisk is an on-disk BlockStorage implementation using the filesystem for blocks and LevelDB for block headers.
block_storage_disk.go:26
Struct
DNSSeeder
DNSSeeder returns known peers in response to DNS queries.
dns.go:19
Struct
FilterAddMessage
FilterAddMessage is used to request the addition of the given public keys to the current filter. The filter is created if it's not set. Type: "filter_
protocol.go:151
Struct
FilterBlockMessage
FilterBlockMessage represents a pared down block containing only transactions relevant to the peer given their filter. Type: "filter_block".
protocol.go:163
Struct
FilterLoadMessage
FilterLoadMessage is used to request that we load a filter which is used to filter transactions returned to the peer based on interest. Type: "filter_
protocol.go:143
Struct
FilterResultMessage
FilterResultMessage indicates whether or not the filter request was successful. Type: "filter_result".
protocol.go:157
Struct
FilterTransactionQueueMessage
FilterTransactionQueueMessage returns a pared down view of the unconfirmed transaction queue containing only transactions relevant to the peer given t
protocol.go:172
Struct
FindCommonAncestorMessage
FindCommonAncestorMessage is used to find a common ancestor with a peer. Type: "find_common_ancestor".
protocol.go:63
Struct
GetBalanceMessage
GetBalanceMessage requests a public key's balance. Type: "get_balance".
protocol.go:69
Struct
GetBalancesMessage
GetBalancesMessage requests a set of public key balances. Type: "get_balances".
protocol.go:85
Struct
GetBlockByHeightMessage
GetBlockByHeightMessage is used to request a block for download. Type: "get_block_by_height".
protocol.go:31
Struct
GetBlockHeaderByHeightMessage
GetBlockHeaderByHeightMessage is used to request a block header. Type: "get_block_header_by_height".
protocol.go:50
Struct
GetBlockHeaderMessage
GetBlockHeaderMessage is used to request a block header. Type: "get_block_header".
protocol.go:44
Struct
GetBlockMessage
GetBlockMessage is used to request a block for download. Type: "get_block".
protocol.go:25
Struct
GetPublicKeyTransactionsMessage
GetPublicKeyTransactionsMessage requests transactions associated with a given public key over a given height range of the block chain. Type: "get_publ
protocol.go:180
Struct
GetTransactionMessage
GetTransactionMessage is used to request a confirmed transaction. Type: "get_transaction".
protocol.go:106
Struct
GetWorkMessage
GetWorkMessage is used by a mining peer to request mining work. Type: "get_work"
protocol.go:215
Interface
HashWithRead
HashWithRead extends hash.Hash to provide a Read interface.
block_header_hasher.go:46
Struct
HashrateMonitor
HashrateMonitor collects hash counts from all miners in order to monitor and display the aggregate hashrate.
miner.go:32
Struct
IRC
IRC is used for bootstrapping the network for now. It primarily exists as a backup to our current limited set of DNS seeders.
irc.go:24
Struct
InvBlockMessage
InvBlockMessage is used to communicate blocks available for download. Type: "inv_block".
protocol.go:19
Interface
Ledger
Ledger is an interface to a ledger built from the most-work chain of blocks. It manages and computes public key balances as well as transaction and pu
ledger.go:26
Struct
LedgerDisk
LedgerDisk is an on-disk implemenation of the Ledger interface using LevelDB.
ledger_disk.go:18
Struct
Message
Message is a message frame for all messages in the cruzbit.1 protocol.
protocol.go:12
Struct
Miner
Miner tries to mine a new tip block.
miner.go:17
Struct
NewTx
NewTx is a message sent to registered new transaction channels when a transaction is queued.
processor.go:40
Struct
Peer
Peer is a peer client in the network. They all speak WebSocket protocol to each other. Peers could be fully validating and mining nodes or simply wall
peer.go:25
Struct
PeerAddressesMessage
PeerAddressesMessage is used to communicate a list of potential peer addresses known by a peer. Type: "peer_addresses". Sent in response to the empty
protocol.go:202
Struct
PeerManager
PeerManager manages incoming and outgoing peer connections on behalf of the client. It also manages finding peers to connect to.
peer_manager.go:22
Interface
PeerStorage
PeerStorage is an interface for storing peer addresses and information about their connectivity.
peer_storage.go:7
Struct
PeerStorageDisk
PeerStorageDisk is an on-disk implementation of the PeerStorage interface using LevelDB.
peer_storage_disk.go:21
Struct
Processor
Processor processes blocks and transactions in order to construct the ledger. It also manages the storage of all block chain data as well as inclusion
processor.go:22
Struct
PublicKeyBalance
PublicKeyBalance is an entry in the BalancesMessage's Balances field.
protocol.go:99
Struct
PublicKeyTransactionsMessage
PublicKeyTransactionsMessage is used to return a list of block headers and the transactions relevant to the public key over a given height range of th
protocol.go:191
Struct
PushTransactionMessage
PushTransactionMessage is used to push a newly processed unconfirmed transaction to peers. Type: "push_transaction".
protocol.go:129
Struct
PushTransactionResultMessage
PushTransactionResultMessage is sent in response to a PushTransactionMessage. Type: "push_transaction_result".
protocol.go:135
Struct
SubmitWorkMessage
SubmitWorkMessage is used by a mining peer to submit a potential solution to the client. Type: "submit_work"
protocol.go:234
Struct
SubmitWorkResultMessage
SubmitWorkResultMessage is used to inform a mining peer of the result of its work. Type: "submit_work_result"
protocol.go:241
Struct
TipChange
TipChange is a message sent to registered new tip channels on main chain tip (dis-)connection..
processor.go:47
Struct
TipHeaderMessage
TipHeaderMessage is used to send a peer the header for the tip block in the block chain. Type: "tip_header". It is sent in response to the empty "get_
protocol.go:121
Struct
Transaction
Transaction represents a ledger transaction. It transfers value from one public key to another.
transaction.go:19
TypeAlias
TransactionID
TransactionID is a transaction's unique identifier.
transaction.go:34
Struct
TransactionMessage
TransactionMessage is used to send a peer a confirmed transaction. Type: "transaction"
protocol.go:112
Interface
TransactionQueue
TransactionQueue is an interface to a queue of transactions to be confirmed.
transaction_queue.go:7
Struct
TransactionQueueMemory
TransactionQueueMemory is an in-memory FIFO implementation of the TransactionQueue interface.
transaction_queue_memory.go:15
Struct
TransactionRelayPolicyMessage
TransactionRelayPolicyMessage is used to communicate this node's current settings for min fee and min amount. Type: "transaction_relay_policy". Sent i
protocol.go:208
Struct
Wallet
Wallet manages keys and transactions on behalf of a user.
wallet.go:28
Struct
WorkMessage
WorkMessage is used by a client to send work to perform to a mining peer. The timestamp and nonce in the header can be manipulated by the mining peer.
protocol.go:225
Struct
blockQueueEntry
block_queue.go:22
Struct
blockToProcess
processor.go:62
Struct
conciseBlock
inspector/main.go:199
Struct
history
inspector/main.go:258
Struct
peerInfo
peer_storage_disk.go:362
Struct
transactionWithHeight
wallet/main.go:816
Struct
txToProcess
processor.go:55
Struct
txWithContext
inspector/main.go:228
Struct
walletResult
Used to hold the result of synchronous requests
wallet.go:445