Comments (5)
@Runn1ng there is an in-repo fee simulator: https://github.com/bitcoinjs/coinselect/tree/master/stats
I optimized the default export to be the lowest fees over time, but it'd be great to see your take on the approach taken.
from coinselect.
What is the rationale for using blackjack strategy, for selecting the exact match?
My approach assumes a descending by-value UTXO set, with an accumulative exact match strategy to attempt fee minimisation. It isn't perfect.
from coinselect.
It seems the code for the simulation PDF is here - https://github.com/Xekyo/CoinSelectionSimulator - I will look it up and try to run some experiments, to have something to reason with here :)
from coinselect.
Thanks for comments!
I have tried to run the scala simulation code from @xekyo with the gambling hot wallet data (the simulation has a starting UTXO set and a set of value changes) - it actually seems that the strategies all return more or less the same fees, if you add total fees + cost to spend the remaining UTXOs.
The strategy that seem to work the best for the simulation (when total fees+cost to spend the rest is optimized) is Branch and Bound.
I will try to now run your simulation, plus try to understand @xekyo's Branch and Bound algorithm and port it into JS and into this code.
from coinselect.
I am closing this, since BnB is a different strategy
from coinselect.
Related Issues (20)
- TransactionBuilder is now deprecated HOT 5
- No inputs or outputs generated HOT 6
- Consider Output Address Types HOT 5
- Proposal For Segwit Update PR HOT 5
- PR #49 + npm HOT 1
- What is the best way to handle user selection of virtual bytes in coinselect? HOT 1
- BIP 125 selection for replacement HOT 2
- No solution found if many inputs HOT 3
- Can the coinSelect recognize that my utxos are from segwit? HOT 1
- inputs and outputs returning unidefined when pending balance HOT 5
- CoinSelect using multiple small UTXOs instead of one big HOT 3
- Segwit workaround safe to use? HOT 2
- "coinselect" always expose the largest UTXO no matter how small the payment is because it sorts by descending value. HOT 5
- Inputs nor outputs are returned when a certain condition is met HOT 4
- type error in typescript project HOT 1
- Is this project dead? HOT 1
- Check out trezor/trezor-suite/packages/utxo-lib/src/coinselect for any ideas HOT 1
- Module cannot be found , npm I βdev-save @types/coinselect HOT 2
- Reevaluating 'Dust' Considerations When Adding Change in Transactions HOT 5
- Library breaks with float feeRate
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from coinselect.