Skip to content

WIP: Create an async corepc-client (adding jsonrpc support into the corepc-client crate)#506

Draft
jamillambert wants to merge 6 commits intorust-bitcoin:masterfrom
jamillambert:0212-WIP-client-async-jsonrpc-move
Draft

WIP: Create an async corepc-client (adding jsonrpc support into the corepc-client crate)#506
jamillambert wants to merge 6 commits intorust-bitcoin:masterfrom
jamillambert:0212-WIP-client-async-jsonrpc-move

Conversation

@jamillambert
Copy link
Collaborator

@jamillambert jamillambert commented Feb 12, 2026

Not a merge candidate. Proof of concept only.

This is PR option 2 of 2, both add an async corepc-client but in a slightly different ways. This version adds the required part of jsonrpc into corepc-client the other version adds async support to jsonrpc (#505).

The patches are structured to make it easier to see what was changed from sync to async. First the sync version is copied and renamed, then in a separate patch it is changed to async.

The jsonrpc part that was added to corepc-client could instead be a separate crate, or if the rest of jsonrpc is not required it could be the replacement for it.

Move the required parts of jsonrpc into corepc-client so that it does
not depend on jsonrpc. The intention is to extend it to work with an
async client later.
Create a new folder for the upcoming async client and copy in the
existing client_sync code.

Code copy only except for the renaming to async to make the next patch
easier to review.
Edit the copy of the sync client created in the previous commit to be
async. Update the readme and cargo.toml files.

Add only small set of RPCs.
Add some vibe coded tests for the async client to check that everything
is functional. Tests are for development purposes only to catch simple
errors like feature gates etc. and have not been reviewed.
@tcharding
Copy link
Member

#505 is a better approach IMO.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants