Giter Site home page Giter Site logo

dust-b-gone's Introduction

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.

dust-b-gone's People

Contributors

ademan avatar amiller avatar blakejakopovic avatar derrend avatar devrandom avatar devurandom avatar flowdalic avatar gmaxwell avatar icook avatar kaniini avatar kanzure avatar laanwj avatar luke-jr avatar mrvdb avatar petertodd avatar runeksvendsen avatar sarchar avatar x89 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dust-b-gone's Issues

Python 3 support

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.

Server part missing

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?

socket.timeout: timed out

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..

Connection Refused

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.