-
Notifications
You must be signed in to change notification settings - Fork 68
Open
Labels
summer-of-bitcoinSummer of Bitcoin Project ProposalSummer of Bitcoin Project Proposal
Description
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-clientcrate to useasync-minireqinstead ofreqwestfor it'sasyncandasync-*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_asyncexample to demonstrate usingasync-minreqinstead ofreqweststill works. - Investigate if
async-minreqcan be used with a different socket transport so it can be integrated with TOR viaarti.
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_asyncexample wallet and receive and send regtest bitcoin.
Metadata
Metadata
Assignees
Labels
summer-of-bitcoinSummer of Bitcoin Project ProposalSummer of Bitcoin Project Proposal
Type
Projects
Status
Discussion