Skip to content

Investigate using async-minreq #121

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

Open
notmandatory opened this issue Mar 20, 2025 · 0 comments · May be fixed by #124
Open

Investigate using async-minreq #121

notmandatory opened this issue Mar 20, 2025 · 0 comments · May be fixed by #124
Labels
summer-of-bitcoin Summer of Bitcoin Project Proposal

Comments

@notmandatory
Copy link
Member

notmandatory commented Mar 20, 2025

Summer of Bitcoin Project Proposal

Description

The rust-esplora-client currently uses reqwest for async HTTP communications. We've had problems in the past with the reqwest MSRV being higher than the bdk MSRV. Using a simpler crate like async-minreq should solve those issues. This project is to replace reqwest with async-minreq.

Expected Outcomes

  • Modify the rust-esplora-client crate to use async-minireq instead of reqwest for it's async and async-* features.
  • Update all documentation and tests and verify tests pass with rust version 1.63.
  • Confirm the proxy options all work with a TOR proxy.
  • Update the example_wallet_esplora_async example to demonstrate using async-minreq instead of reqwest still works.
  • Investigate if async-minreq can be used with a different socket transport so it can be integrated with TOR via arti.

Resources

Skills Required

  • Experience with git. Guide
  • Experience with rust. First seven chapters of the book
  • Able to setup a local core node in regtest and testnet mode.
  • Familiarity with the HTTP and HTTPS protocols.

Mentor(s)
@notmandatory

Difficulty
Hard

Competency Test

  • Install rust, compile and run all bdk examples and tests.
  • Setup a local Bitcoin Core node daemon in regtest mode.
  • Setup a local esplora API server using the mempool.space version of electrs.
  • Make a wallet with example_wallet_esplora_async example wallet and receive and send regtest bitcoin.
@notmandatory notmandatory added the enhancement New feature or request label Mar 20, 2025
@notmandatory notmandatory moved this to Discussion in BDK Chain Mar 20, 2025
@notmandatory notmandatory added summer-of-bitcoin Summer of Bitcoin Project Proposal and removed enhancement New feature or request labels Mar 20, 2025
rajanarahul93 added a commit to rajanarahul93/rust-esplora-client that referenced this issue Mar 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
summer-of-bitcoin Summer of Bitcoin Project Proposal
Projects
Status: Discussion
Development

Successfully merging a pull request may close this issue.

1 participant