Crate coins_core

source ·
Expand description

coins-core is an abstract description of UTXO transactions. It provides a collection of traits that provide consistent interfaces to UTXO transaction construction. Coins’s traits ensure that types are consistent across all steps in the tx construction process, and allow for code reuse when building transactions on multiple chains (e.g. Bitcoin Mainnet and Bitcoin Testnet).

Many concepts familiar to UTXO chain developers have been genericized. Transactions are modeled as a collection of Inputs and Outputs. Rather than addresses or scripts, the Output trait has an associated RecipientIdentifier. Similarly, rather than an outpoint, the Input trait has an associated TXOIdentfier.

Support for other chains may be added by implementing these traits. We have provided an implementation suitable for Bitcoin chains (mainnet, testnet, and signet) in the bitcoins crate.

Re-exports§

Modules§

  • Contains simplified access to bech32 and base58check encoder/decoder for Bitcoin addresses. Also defines common encoder errors.
  • Holds utilites for working with cryptographic digests, and disambiguating digests via marker traits.
  • Macro for defining a new hash type.
  • Re-exports of common types.
  • A simple trait for binary (de)Serialization using std Read and Write traits.