Description
Coinselection is the scheme to select a set of utxo, from all the available utxos, to create the most optimum spending transaction. Effective coinselection is beneficial for reducing transaction fees as well as improving operation privacy for a wallet. BDK currently uses two coinselection algorithms, LargestFirst and BranchAndBound.
The aim of the project is to
- include more coinselection algorithms in the library.
- Add a comparative mechanism to evaluate coinselection results from different algos.
- Use the most “effective” algorithm chosen by a “specific metric”.
Expected Outcomes
- General understanding coinselection in Bitcoin protocol.
- Comparative study between different coinselection algorithms.
- Coming up with a metric to compare results of different coinselection algos.
Resources
Skills Required
Mentor(s)
@danielabrozzoni
Difficulty : Medium
Competency Test (optional)
- Install rust, compile and run all bdk examples and tests.
- Read through the BDK docs.
- Make a dummy wallet with BDK with different blockchain backends.
- Familiarity with basic rust, should be able to write custom trait implementations on foreign structures.
Description
Coinselection is the scheme to select a set of utxo, from all the available utxos, to create the most optimum spending transaction. Effective coinselection is beneficial for reducing transaction fees as well as improving operation privacy for a wallet. BDK currently uses two coinselection algorithms, LargestFirst and BranchAndBound.
The aim of the project is to
Expected Outcomes
Resources
Skills Required
Mentor(s)
@danielabrozzoni
Difficulty : Medium
Competency Test (optional)