Packages
Browse packages indexed by the registry.
map whose keys are pointers, but are compared by their dereferenced values
tools for handling process startup
A small CLI for Bitcoin Core and Bitcoin Inquisition workflows
Internal types and macros used by rust-bitcoin ecosystem
Simple I/O traits for no-std (and std) environments
tools for handling inter-process communication
Defines the types to deserialize Bitcoin Core responses and serialize parameters for API communication.
tools for working with encapsulated public/private keys
Bitcoin key expression and deterministic derivation
abstractions for representing key metadata
the wallet holds one or several keypools. These are sets of keys that have not yet been used to provide addresses or receive change. This crate provides abstractions for working with keys from a wallet's keypool
facade into the leveldb subsystem
todo: write a description here
A memory pool for locked memory chunks to securely handle sensitive data, preventing it from being swapped to disk.
abstractions around the system logger
used to manage a list of callbacks -- used to track which callbacks are registered, as well as any callbacks that are just unregistered and about to be deleted when they are done executing
traits for tracking dynamic and recursive memory usage
contains two primary interfaces: 1) PartialMerkleTree -- represents a subset of the txid's of a known block, in a way that allows recovery of the list of txid's and the merkle root in an authenticated way. 2) MerkleBlock, used to relay blocks as header + Vec<MerkleBranch> to filtered nodes
tools for verification, hashing, and signing of messages
tools for the BlockAssembler
Shim crate to attempt to conditionally depend on high-MSRV crates without cargo 1.56 unconditionally failing.
MuHash is a hashing algorithm that supports adding set elements in any order but also deleting in any order. As a result, it can maintain a running sum for a set of data as a whole, and add/remove when data is added to or removed from it. A downside is that computing an inverse is relatively expensive.
networking tools
networking tools for ZMQ
transport protocol agnostic message container
net permissions flags
Bitcoin Core–compatible network address handling for Rust: IPv4/IPv6/Tor/I2P/CJDNS classification, BIP155 ADDRv2 and legacy ADDRv1 serialization, reachability metrics, AS-based bucketing, and overlay address parsing.
Which network we are operating on
a node represents a peer in the network
Query your bitcoin node
A library for relaying Bitcoin transactions over the Nostr protocol
non-GUI handlers
Oblivious HTTP over secp256k1 and ChaCha20Poly1305
Implementation of the Bitcoin p2p protocol.
General purpose library for using and interoperating with Bitcoin. Implements BIP0360
a package is an ordered list of transactions. The transactions cannot conflict with (spend the same inputs as) one another
Bitcoin block header parser
A parser for arbitrary bitcoin payment instructions.
a manager for handling peers
Bitcoin peer connection and transport
Bitcoin network peer discovery
policy code for checking transaction attributes
Poly1305 is a universal hash function suitable for use as a one-time authenticator and, when combined with a cipher, a message authentication code (MAC). It takes a 32-byte one-time key and a message and produces a 16-byte tag, which can be used to authenticate the message.
Coinbase tag and coinbase output address based mining-pool identification for rust-bitcoin's bitcoin::{Block, Transaction}
tools for port mapping
tools for calculating and checking proof of work
Get the Bitcoin price
Get bitcoin price on the command line
Primitive types used by the rust-bitcoin ecosystem
Internal types and macros used by rust-bitcoin ecosystem