Packages
Browse packages indexed by the registry.
tools for serialization
a service is a combination of a network address and a TCP port
these are the flags which are required for a peer to support for them to be interesting to us -- ie, for us to wish to use one of our few outbound connection slots for or for us to wish to prioritize keeping their connection around.
represents a settings value type
secure hash algorithm 1
SHA-256 and SHA-512 are novel hash functions computed with eight 32-bit and 64-bit words, respectively. They use different shift amounts and additive constants, but their structures are otherwise virtually identical, differing only in the number of rounds. (from wikipedia)
todo: write a description here
todo: write a description here
todo: write a description here
todo: write a description here
todo: write a description here
Although part of the same series of standards, SHA-3 (Keccak) is internally different from the MD5-like structure of SHA-1 and SHA-2. -- Keccak is based on a novel approach called sponge construction. Sponge construction is based on a wide random function or random permutation, and allows inputting (`absorbing` in sponge terminology) any amount of data, and outputting (`squeezing`) any amount of data, while acting as a pseudorandom function with regard to all previous inputs. This leads to great flexibility. (from wikipedia)
SHA-256 and SHA-512 are novel hash functions computed with eight 32-bit and 64-bit words, respectively. They use different shift amounts and additive constants, but their structures are otherwise virtually identical, differing only in the number of rounds. (from wikipedia)
generate the signet tx corresponding to the given block -- the signed tx commits to everything in the block except 1) it hashes a modified merkle root with the signet signature removed. 2) it skips the nonce
an interface to be implemented by keystores that support signing
Silent payments library
Although designed for use as a hash function to ensure security, SipHash is fundamentally different from cryptographic hash functions like SHA in that it is only suitable as a message authentication code: a keyed hash function like HMAC. That is, SHA is designed so that it is difficult for an attacker to find two messages X and Y such that SHA(X) = SHA(Y), even though anyone may compute SHA(X). SipHash instead guarantees that, having seen Xi and SipHash(Xi, k), an attacker who does not know the key k cannot find (any information about) k or SipHash(Y, k) for any message Y ∉ {Xi} which they have not seen before. (from wikipedia)
Low-level, cross-platform RAII wrapper and utilities for raw OS sockets, mirroring Bitcoin Core networking semantics (send/recv, timeouts, readiness, error classification).
Bitcoin SPV Proof evaluation
wrapper around an SQLite database
string utilities for the bitcoin system -- BilingualStr, strings representing money
abstractions representing a subnet
allocators, memory cleansing, events, locked pools, memory arenas, etc
Low-level synchronization, semaphore, lock-order debugging, and interruptible thread utilities modelled after Bitcoin Core, built on parking_lot and tracing.
todo: write a description here
system-level utilities
Taproot stuff destined for bitcoin-primitives
A Bitcoin dashboard in the terminal
test framework for the bitcoin system
Bitcoin test data such as blocks and transactions samples and test vectors
time utilities
an interprocess or interthread pipe for sending tokens (one byte values) over
Decode and inspect Bitcoin data from the terminal: transactions, scripts, keys, addresses, HD wallets, and blocks.
Decode and inspect Bitcoin data: transactions, scripts, keys, addresses, HD wallets, and blocks.
this exposes the rest of the bitcoin crate ecosystem
tor control and connections
Bitcoin transaction utilities
tools for working with bitcoin transactions
todo: write a description here
Minimal bitcoin transaction verifier with OP_CAT support
TxMemPool stores valid-according-to-the-current-best-chain transactions that may be included in the next block
TxMemPoolEntry stores data about the corresponding transaction, as well as data about all in-mempool transactions that depend on the transaction (descendant transactions)
A Rust crate for efficiently handling 160-bit opaque blobs, commonly used in cryptographic and Bitcoin-related contexts, with support for conversion from strings and byte arrays.
A Rust crate for handling 256-bit unsigned integers, optimized for blockchain computations, offering arithmetic operations and compact representation conversions.
Basic Bitcoin numeric units such as amount
univalues and various token utilities
A Rust library for composing Bitcoin URIs according to BIP-321.
A collection of utilities for working with bitcoin
tools for capturing information about block/transaction validation
Varint lib used in bitcoin and bitcoin-like p2p message protocol.