petertodd / dust-b-gone Goto Github PK
View Code? Open in Web Editor NEWClean your Bitcoin-QT wallet of unwanted dust
License: MIT License
Clean your Bitcoin-QT wallet of unwanted dust
License: MIT License
NOTE: The below is for historical interest; the server that dust-b-gone sent dust to isn't running right now. Dust-B-Gone =========== Cleans your Bitcoin Core wallet of unwanted dust. Usage: ./dust-b-gone.py [--testnet] You can use the --tor option to use your local Tor proxy for added privacy. What happens to all that dust? ============================== Every dust txout is collected into a single transaction sending all the funds to mining fees, and that transaction is signed with the NONE|ANYONECANPAY flag. This means anyone else can add inputs to the transaction, and the outputs are left undefined. (the funds may be added to any transaction) Your transaction is then sent to Peter Todd's server, where a script collects it and other transactions from other people together periodically and merges them into a single transaction, destroying the dust. Because multiple peoples' dust is merged in one go no-one can tell where it came from, and thus what coins are connected to what, protecting your privacy. I restarted Bitcoin and the dust came back! =========================================== Your dusty txouts aren't mined immediately; it takes some time for other people to submit their dust for collection too. While dust-b-gone *temporarily* "locks" the transaction outputs being cleaned from your wallet, those locks don't persist after a restart. Don't worry though: the dust will be cleaned up sooner or later.
I'm receiving a socket.timeout, came back with 22K+ dust txs, when I say yes to try and remove I get:
ubuntu@:~/dust-b-gone-master$ ./dust-b-gone.py --dry-run
Traceback (most recent call last):
File "./dust-b-gone.py", line 47, in
dust_txouts = [unspent for unspent in proxy.listunspent(0) if unspent['amount'] <= args.dust]
File "/usr/local/lib/python2.7/dist-packages/python_bitcoinlib-0.3.0-py2.7.egg/bitcoin/rpc.py", line 383, in listunspent
r = self._call('listunspent', minconf, maxconf)
File "/usr/local/lib/python2.7/dist-packages/python_bitcoinlib-0.3.0-py2.7.egg/bitcoin/rpc.py", line 144, in _call
response = self._get_response()
File "/usr/local/lib/python2.7/dist-packages/python_bitcoinlib-0.3.0-py2.7.egg/bitcoin/rpc.py", line 179, in _get_response
http_response = self.__conn.getresponse()
File "/usr/lib/python2.7/httplib.py", line 1038, in getresponse
response.begin()
File "/usr/lib/python2.7/httplib.py", line 415, in begin
version, status, reason = self._read_status()
File "/usr/lib/python2.7/httplib.py", line 371, in _read_status
line = self.fp.readline(_MAXLINE + 1)
File "/usr/lib/python2.7/socket.py", line 476, in readline
data = self._sock.recv(self._rbufsize)
socket.timeout: timed out
Bitcoind info, all system libaries are up to date:
{
"version" : 100200,
"protocolversion" : 70002,
"walletversion" : 60000,
"balance" : ,
"blocks" : 364335,
"timeoffset" : 0,
"connections" : 3,
"proxy" : "",
"difficulty" : 49402014931.22746277,
"testnet" : false,
"keypoololdest" : 1435806348,
"keypoolsize" : 501,
"paytxfee" : 0.00010000,
"relayfee" : 0.00001000,
"errors" : ""
}
Any suggestions greatly appreciated..
I'm not sure if I'm doing something wrong or need to configure it more... but I'm getting the following error
user@host:~/Scripts/dust$ ./dust-b-gone.py --dry-run
Traceback (most recent call last):
File "./dust-b-gone.py", line 41, in
dust_txouts = [unspent for unspent in proxy.listunspent(0) if unspent['amount'] <= args.dust]
File "/home/user/Scripts/dust/bitcoin/rpc.py", line 341, in listunspent
r = self._call('listunspent', minconf, maxconf)
File "/home/user/Scripts/dust/bitcoin/rpc.py", line 160, in _call
'Content-type': 'application/json'})
File "/usr/lib/python2.7/httplib.py", line 973, in request
self._send_request(method, url, body, headers)
File "/usr/lib/python2.7/httplib.py", line 1007, in _send_request
self.endheaders(body)
File "/usr/lib/python2.7/httplib.py", line 969, in endheaders
self._send_output(message_body)
File "/usr/lib/python2.7/httplib.py", line 829, in _send_output
self.send(msg)
File "/usr/lib/python2.7/httplib.py", line 791, in send
self.connect()
File "/usr/lib/python2.7/httplib.py", line 772, in connect
self.timeout, self.source_address)
File "/usr/lib/python2.7/socket.py", line 571, in create_connection
raise err
socket.error: [Errno 111] Connection refused
Thank you for this, @petertodd! I just learned about dust-b-gone
on #bitcon IRC channel.
In the source code I do not see the server part. Could you please release it with some short
description as well so that someone else can run the server?
I don't believe this (or more secifically the python-bitcoinlib
repository) is working with Python 3.
Specifically when running a sample script such as
#!/usr/bin/env python3.4
import bitcoin.rpc
proxy = bitcoin.rpc.RawProxy()
proxy._call('getinfo')
It fails, as well dust-b-gone doesn't work with python 3 but works fine with python 2.
Hello, can you provide the server backend?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.