Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Integrated TOR proxy #66

Open
notmandatory opened this issue Jul 27, 2020 · 5 comments
Open

Integrated TOR proxy #66

notmandatory opened this issue Jul 27, 2020 · 5 comments
Labels
documentation Improvements or additions to documentation good first issue Good for newcomers module-blockchain

Comments

@notmandatory
Copy link
Member

notmandatory commented Jul 27, 2020

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 notmandatory changed the title Support integrated TOR proxy Integrated TOR proxy Jul 27, 2020
@notmandatory notmandatory transferred this issue from bitcoindevkit/bdk-old Sep 15, 2020
@notmandatory notmandatory added documentation Improvements or additions to documentation good first issue Good for newcomers labels Feb 15, 2022
nickfarrow pushed a commit to nickfarrow/bdk that referenced this issue Feb 21, 2022
@notmandatory notmandatory moved this to Todo in BDK Maintenance Aug 6, 2022
@notmandatory
Copy link
Member Author

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

@notmandatory
Copy link
Member Author

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

@oleonardolima
Copy link
Contributor

@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
Copy link
Contributor

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 😢

@notmandatory
Copy link
Member Author

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

@notmandatory notmandatory added this to BDK Jan 8, 2024
@notmandatory notmandatory moved this to Todo in BDK Jan 8, 2024
@notmandatory notmandatory removed this from the 1.1.0 milestone Mar 18, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation good first issue Good for newcomers module-blockchain
Projects
Status: Todo
Development

Successfully merging a pull request may close this issue.

2 participants