bitcoin_coin_selection
Port of Bitcoin core coin selection logic to Python, prioritizing fidelity to the original and convenience.
Classes / functions were named and organized per the original C++ code as far as was practicable. Most comments are copied.
Installation
pip install bitcoin_coin_selection
Usage
select_coins
is the main interface here. See the exmples folder for a step-by-step walkthrough.
Context
Bitcoin core coin selection logic:
https://github.com/bitcoin/bitcoin/blob/master/src/wallet/coinselection.cpp
https://github.com/bitcoin/bitcoin/blob/master/src/wallet/wallet.cpp
Erhardt's thesis on coin selection
https://murch.one/wp-content/uploads/2016/11/erhardt2016coinselection.pdf
Explanation of the "OutputGroup" type (privacy enhancement)
https://github.com/bitcoin/bitcoin/pull/12257