Bitcoin CoinSelect: A Rust crate for Bitcoin UTXO selection

A Rust implementation of Bitcoin's UTXO selection algorithms, part of a direct translation of the Bitcoin codebase from C++ to Rust. Some function bodies may still be in the process of translation.


This Rust crate, bitcoin-coinselect, provides a collection of algorithms and utilities for selecting unspent transaction outputs (UTXOs) in the Bitcoin network. The crate is part of a direct translation of the Bitcoin codebase from C++ to Rust, and some function bodies may still be in the process of translation.

The crate includes several core components:

find_coins: A function that searches for eligible UTXOs in a wallet or set of UTXOs, filtering them based on the provided CoinEligibilityFilter criteria. This allows users to search for UTXOs that meet specific requirements, such as minimum confirmations or inclusion in a particular address range.

The bitcoin-coinselect crate provides a comprehensive toolkit for UTXO selection in Bitcoin transactions, offering a variety of algorithms and utilities to suit different use cases and requirements. By implementing these selection algorithms in Rust, the crate aims to provide a fast, efficient, and secure foundation for Bitcoin wallet software and other applications that require UTXO management.