Open notmandatory opened 3 years ago
Arti has made it to a 1.0 release! https://blog.torproject.org/arti_100_released/
@oleonardolima has experience with this from his work adding arti in the fedimint client.
@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).
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 😢
Targeting this for BDK 1.1 milestone for now. Would be a great feature to have.
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