Skip to content

funyug/dustbuster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dustbuster

A CLI tool to collect and spend dust utxos from a bitcoin wallet

Features

  • Identify dust UTXOs by addresses that are below the min relay fee
  • Spends UTXOs to empty OP_RETURN output

Building from Source

  1. Clone the repository:
git clone https://github.com/funyug/dustbuster
cd dustbuster
  1. Build the project:
cargo build --release
  1. The binary will be available at target/release/dustbuster

Usage

dustbuster [OPTIONS] <COMMAND>

Commands:
  list-dust    List dust UTXOs
  create-psbt  Create an unsigned PSBT spending dust utxos to fees
  help         Print this message or the help of the given subcommand(s)

Options:
  -r, --RPC_URL <RPC_URL>  [default: 127.0.0.1:48332]
  -a, --AUTH <AUTH>        [default: user:password]
  -w, --WALLET <WALLET>
  -h, --help               Print help

Example

dustbuster -a test:test -r 127.0.0.1:18443 list-dust --min-relay-fee=1

Total Dust UTXOs: 6
Do you want to print the dust UTXOs? (yes/no): yes
Txid: d942d2e4f4db52ee2b8bac2b6d59f2d9b5b70014ffe78626c326b5be1b8faf8c Vout: 0 Amount: 0.00000010 BTC
Txid: b5b7d4b03e2c2731222630174ef09f5167d066d1a64e68658fc42b59b719a5dd Vout: 0 Amount: 0.00000010 BTC
Txid: f40581cc41bb3dc94627b379d20471605ab0cb972d464dca58849fa80582bdea Vout: 1 Amount: 0.00000010 BTC
Txid: 30c4d0482df1ad82affd71ad8c24153f87173ed80efd6e034e93c371c1c8a5cd Vout: 1 Amount: 0.00000010 BTC
Txid: be2dc635d25ccc8c0809039003fc38dfdbb2e77c741aad65f7a2c5033c7773e9 Vout: 0 Amount: 0.00000010 BTC
Txid: ef75f32392b0636f5f660ad5ad46d714ab2f6f17b0b08cd858507a566b233507 Vout: 1 Amount: 0.00000010 BTC


dustbuster -a test:test -r 127.0.0.1:18443 create-psbt --min-relay-fee=1 --address=bcrt1q07gdzknry9yzwnmud53umwksx20lmnn4c4lheg
cHNidP8BAP1cAQIAAAAIVd1YWLOuE6yO93hGsEvP2hgEGgOmPKHY5tZxFmHpCi8AAAAAAP3///+rgcieK5L+s/IzaVDS15dhtD317YpjGWCCZ3F00INihwEAAAAA/f///2xMJ6VrD/xBs5ae/DrsLEyLe9ZNkOtpZyAQkjWHfIZJAAAAAAD9////hjxQWLUrOLlVnRomCitelOm8/CO6erNMXuSDvbXQhD8BAAAAAP3///+qFgmY
TA6ldo3JIqOzA4dghihDXlPjD3i0lngcscPsTgAAAAAA/f///y6RO956viLxme/0uR/vxrWfbbquaDw8mSi5Lo5OvFBdAAAAAAD9////REGiJaMjkXjmxZ5mpj0NbHHFou7Awj+GIcmziGqmL98AAAAAAP3///8+U+G96HSXZCGVmhDg30eZccEm2BZxL+jcH2W/+WPS+gAAAAAA/f///wEAAAAAAAAAAAFqAAAAAAAAAAAAAAAAAAA=

PSBT needs to be signed by bitcoin-cli

Example

bitcoin-cli walletprocesspsbt cHNidP8BAP1cAQIAAAAIVd1YWLOuE6yO93hGsEvP2hgEGgOmPKHY5tZxFmHpCi8AAAAAAP3///+rgcieK5L+s/IzaVDS15dhtD317YpjGWCCZ3F00INihwEAAAAA/f///2xMJ6VrD/xBs5ae/DrsLEyLe9ZNkOtpZyAQkjWHfIZJAAAAAAD9////hjxQWLUrOLlVnRomCitelOm8/CO6erNMXuSDvbXQhD8BAAAAAP3///+qFgmYTA6ldo3JIqOzA4dghihDXlPjD3i0lngcscPsTgAAAAAA/f///y6RO956viLxme/0uR/vxrWfbbquaDw8mSi5Lo5OvFBdAAAAAAD9////REGiJaMjkXjmxZ5mpj0NbHHFou7Awj+GIcmziGqmL98AAAAAAP3///8+U+G96HSXZCGVmhDg30eZccEm2BZxL+jcH2W/+WPS+gAAAAAA/f///wEAAAAAAAAAAAFqAAAAAAAAAAAAAAAAAAA=
{
  "psbt": "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",
  "complete": true,
  "hex": "0200000000010855dd5858b3ae13ac8ef77846b04bcfda18041a03a63ca1d8e6d6711661e90a2f0000000000fdffffffab81c89e2b92feb3f2336950d2d79761b43df5ed8a63196082677174d08362870100000000fdffffff6c4c27a56b0ffc41b3969efc3aec2c4c8b7bd64d90eb696720109235877c86490000000000fdffffff863c5058b52b38b9559d1a260a2b5e94e9bcfc23ba7ab34c5ee483bdb5d0843f0100000000fdffffffaa1609984c0ea5768dc922a3b30387608628435e53e30f78b496781cb1c3ec4e0000000000fdffffff2e913bde7abe22f199eff4b91fefc6b59f6dbaae683c3c9928b92e8e4ebc505d0000000000fdffffff4441a225a3239178e6c59e66a63d0d6c71c5a2eec0c23f8621c9b3886aa62fdf0000000000fdffffff3e53e1bde874976421959a10e0df479971c126d816712fe8dc1f65bff963d2fa0000000000fdffffff010000000000000000016a0247304402201ddaa2cb1b7eeeeb952643b1521e96c952f6a39ba13f9693abfcfd5ec33009ac0220427166db6c1800be8cd838f4024625c7c406657b4b4461ed57acbb6f403ef93d01210218b56554b32f36948dcf8830bd1d5966ee470e458b3849678522e479b3d98add0247304402202a46832e07d7ef3eda88b7d49ea4d4863049db8baca01da566896c2a80993a83022050665a611a6427e1b1eb0d1e61a801b14f34c41c05c6ea552bac3f6fecd6294f01210218b56554b32f36948dcf8830bd1d5966ee470e458b3849678522e479b3d98add0247304402200b1b94639654c83a91beed6671be77c21b7e7be7e3f5fbd6d81e91b6d2e8aa6002203055018975b45e87c72d88100292b3539e1db6736c1b3a5e126c8c9399c7ade101210218b56554b32f36948dcf8830bd1d5966ee470e458b3849678522e479b3d98add0247304402200375d7277fa260d89c218c263a33ded288e1e6cfb2bd487505fcb9f4d0b22efd022026ba2bcfac645cee9cb7dd5c48c668d84491394629f3bfa6a88c54e829507a0701210218b56554b32f36948dcf8830bd1d5966ee470e458b3849678522e479b3d98add0247304402202b36134d1e8b983f8ec7b4085dec6031955c583a04c55a70f98c0bb8df560804022022ecb3f7432323df60c53695978167d1ce998366cb59d09e56c5af014059e62901210218b56554b32f36948dcf8830bd1d5966ee470e458b3849678522e479b3d98add024730440220340e6bfc4b375b738517b841e98150784132902a772ca9e2f8f70eabb040ab5f02200f9b4f6bff6fdb0a6bcdd0102c0f2179090384197667bcdd03c80bc831bd8bf301210218b56554b32f36948dcf8830bd1d5966ee470e458b3849678522e479b3d98add0247304402200c5da9d5fa5c43416e859ff8520255f1062e0f8386859bc1cd17858d51d589b4022072f1259b47bd3155b33cc04aa995891d6ddb283014b8f1bad35ad430cca98d2101210218b56554b32f36948dcf8830bd1d5966ee470e458b3849678522e479b3d98add0247304402206560d9859229307b4faaa1310076f5683e40b847d57af90db127941f52047bcc02204e33f68751e4a9b0cca8eda2d614c24f475f58c816551dfbe80d56b42be12b9101210218b56554b32f36948dcf8830bd1d5966ee470e458b3849678522e479b3d98add00000000"
}

NOTE

Transactions created using this tool do not include any extra utxo to pay fees(for privacy protection) which will result in transactions getting rejected by the bitcoin nodes as transactions are below the minimum transaction relay fee rate. There are some services like ViaBTC accelerator(https://www.viabtc.com/tools/txaccelerator/), Mempool transaction acceleration(https://mempool.space/acceleration) etc. that allow paying fees by lightning or a separate transaction for such transactions. Please contact the service provider before using their services.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages