There are two primary purposes of this repository:
Provide the corepc-types
crate for use in production
software.
Provide tools for integration testing Rust code that interacts with the Bitcoin network.
Primarily consumers of the rust-bitcoin
library. And enable
doing so against multiple versions of Bitcoin Core.
If you require a JSON RPC client in production software it is expected you write your own and only
use the corepc-types
crate in your dependency graph. Feel free to copy/steal/plagiarise or
otherwise enjoy yourself with anything in this repository - no attribution required.
PRs, feature requests, and bug reports against corepc-types
most welcome and appreciated.
PRs, feature requests, and bug reports against the other crates welcome if you are using them for integration testing.
Please do not use corepc-client
in production and raise bugs, issues, or feature requests.
types/
: corepc-types
: Rust types returned by the JSON-RPC API of Bitcoin Core.node/
: corepc-node
: Runs bitcoind
regtest nodes.client/
: corepc-client
: A blocking JSON-RPC client used to test corepc-types
.integration_test/
: Integration tests that use corepc-client
and corepc-node
to test corepc-types
.This repository is a bit oddly designed. It was done so very intentionally.
I don't know who is using bitcoind
and/or rust-bitocincore-rpc
in the wild and I do not want to
disrupt them. As such bitcoind
was pulled in here with permission of the original author.
Some code shamelessly stolen from rust-bitcoincore-rpc
(credit to Steven).
This library should always compile with any combination of features on Rust 1.63.0.
Use Cargo-minimal.lock
to build the MSRV by copying to Cargo.lock
and building.