bdk icon indicating copy to clipboard operation
bdk copied to clipboard

Integrated TOR proxy

Open notmandatory opened this issue 5 years ago • 5 comments

Create example code and blog post for how to use integrated rust tor client to sync bdk wallet with tor enabled blockchain service such as blockstream.info (http://explorerzydxu5ecjrkwceayqybizmpjjznk5izmitf2modhcusuqlid.onion/).

see:

https://github.com/MagicalBitcoin/libtor https://gitlab.torproject.org/tpo/core/arti

notmandatory avatar Jul 27 '20 03:07 notmandatory

Arti has made it to a 1.0 release! https://blog.torproject.org/arti_100_released/

notmandatory avatar Sep 04 '22 22:09 notmandatory

@oleonardolima has experience with this from his work adding arti in the fedimint client.

notmandatory avatar Sep 07 '23 20:09 notmandatory

@notmandatory I still need to get up to date on the changes BDK went through in the past months, but the syncing and data fetching are either done through rust-esplora-client or rust-electrum-client, is that right?

Adding Tor (or any other general anonymized transport protocol), as a feature to each crate would be a better approach?

This would allow any user of the crate to have Tor support too 🤔

I need to take a deeper look at reqwest, minreq and double-check the required changes, but as far as I can tell the minreq changes seem somewhat straightforward (at least at a first sight level).

oleonardolima avatar Oct 18 '23 02:10 oleonardolima

I created a new issue on rust-esplora-client with the approach, the idea basically adding the support by arti-hyper as a new feature flag.

Adding support to rust-electrum-client would be "easier", as it's based on the ClientType, but the problem is that arti-client usage requires async, which is currently not supported 😢

oleonardolima avatar Oct 24 '23 00:10 oleonardolima

Targeting this for BDK 1.1 milestone for now. Would be a great feature to have.

notmandatory avatar Oct 24 '23 13:10 notmandatory