JoinMarket-Org / joinmarket

CoinJoin implementation with incentive structure to convince people to take part
398 stars 119 forks source link

too many txes exception #379

Open riclas opened 8 years ago

riclas commented 8 years ago

Exception in thread Thread-10: Traceback (most recent call last): File "C:\Python27\lib\threading.py", line 810, in __bootstrap_inner self.run() File "C:\joinmarket\lib\blockchaininterface.py", line 270, in run data = json.loads(btc.make_request(blockr_url + ','.join(shared_txid)))['data'] File "C:\joinmarket\lib\bitcoin\bci.py", line 23, in make_request raise Exception(p) Exception: {"status":"error","data":null,"code":400,"message":"Too many TXses"}

chris-belcher commented 8 years ago

This is the line: https://github.com/JoinMarket-Org/joinmarket/blob/master/lib/blockchaininterface.py#L270

I'm guessing you're running a tumbler to pay to an address that has lots and lots of older transactions paying to it. It's unfortunate that blockr.io can't handle this case.

For a workaround: since tumbler has already done most of the transactions, you could try finding the mixing depth your coins are in and sending them to the destination using the sendpayment.py script. If you're sending to an address from a bitcoin website (e.g. localbitcoins or bitstamp) you could try pressing "generate new address" to get an address with no transactions on it. You should be doing this every time for better privacy anyway.

Aside: Are you aware that using blockr.io offers much less privacy than running your own bitcoin full node? The website blockr.io will now know which addresses are yours, allowing them to unmix you.

riclas commented 8 years ago

this was while running yield generator. If it affected some mixing i guess the script will just eject me.

i'm not mixing, privacy is the least of my concerns. running a full bitcoin node is too heavy for me.

chris-belcher commented 8 years ago

That is strange. The only thing I can think of as a cause is the same thing I said above, except the taker your bot was dealing with did what I described instead of you.

I'm not sure about how to fix this bug. It seems inherent in the blockr.io website that it doesn't want to give you more than a certain number of transactions. I suppose I could recommend you use Bitcoin Core (which if you run with -listen=0 it uses very little bandwidth)

riclas commented 8 years ago

it's not just bandwidth, it creates a ton of tcp connections and chops off the connection for other stuff, or at least it did last time i tried.

nevertheless, it's still a bug with the blockr interface

chris-belcher commented 8 years ago

-listen=0 will limit the number of tcp connections to 8 and wont chop off any others.

riclas commented 8 years ago

ok, thanks for the tip