Switch blockr to electrum as default blockchain interface#704
Switch blockr to electrum as default blockchain interface#704AlexCato wants to merge 1 commit intoJoinMarket-Org:developfrom
Conversation
Rationale: blockr as default does not work for TAILS and other TOR users any more. This will reduce potential confusion, while at the same time not reducing privacy (blockr potentially has worse privacy implications, electrum is at least somewhat decentralized).
|
Yes but we should test the electrum blockchain interface more. Run a sendpayment and tumbler run with it. I just found this bug in the pushtx() function while reading it https://github.com/JoinMarket-Org/joinmarket/blob/develop/joinmarket/electruminterface.py#L246 |
|
On being default, I had two reasons not to want to do that: first, it's slow without some improvements, two, it's only had minimal testing. Thanks for that reviewing/bug find @chris-belcher . I have only tested this a few times, on main net (no other way sadly), and I only tested it from Taker side. As I mentioned on reddit, this is intended as a help for Takers, not Makers (because I think it will be unworkable with big wallets until some improvements are made). So that's why I didn't encounter that particular bug .. (edit, well, seems the point is only that it would not detect a push failure, since (False, None) is not False; looks like a simple fix anyway). Re: testing strategy. It's not going to be easy, but I guess a 'mock' style approach will work OK, it'll just be a bit of a pain making sure of the correct return values for the various electrum server calls, and then setting up some dummy data to return. Overall it needs work ... just seems better to have it there as a fallback right now, than nothing ... I thin k bc.i is very nearly unusable. |
Rationale:
blockr as default does not work for TAILS and other TOR users any more. This will reduce potential confusion, while at the same time not reducing privacy (blockr potentially has worse privacy implications, electrum is at least somewhat decentralized).