| Crates.io | ethos-bitcoind |
| lib.rs | ethos-bitcoind |
| version | 30.2.0 |
| created_at | 2026-01-25 22:20:38.199569+00 |
| updated_at | 2026-01-25 22:20:38.199569+00 |
| description | Generated client for ethos-bitcoind. |
| homepage | https://github.com/nervana21/ethos |
| repository | https://github.com/nervana21/ethos |
| max_upload_size | |
| id | 2069708 |
| size | 759,469 |
A type-safe Rust client for Bitcoin Core v30.2.0 RPCs.
This client aims to provide:
client_trait/: Rust traits for Bitcoin Core RPC endpointsnode/: Node manager for process orchestration in integration environmentsbitcoin_core_clients/: Utilities for driving integration tests against spawned local nodestransport/: Async transport layer with batching and error handlingtypes/: Typed response structs and enums for all RPC methodsThis async example (using Tokio) demonstrates integration testing with a spawned node:
[dependencies]
ethos-bitcoind = "30.2.0"
tokio = { version = "1", features = ["full"] }
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let manager = crate::node::BitcoinNodeManager::new()?;
manager.start().await?;
let transport = manager.create_transport().await?;
let client = crate::BitcoinTestClient::new(transport);
let result = client.getblockchaininfo().await?;
println!("Blockchain info: {:?}", result);
manager.stop().await?;
Ok(())
}
Requires a working bitcoind in $PATH.
This crate is generated by ethos. Its code is kept synchronized with upstream protocol changes through code generation.
See CONTRIBUTING.md.
Ethos is released under the terms of the CC0-1.0 license. See LICENSE for details.
This library launches Bitcoin Core daemons for local integration testing. For real network use, use strong network/firewall controls and carefully audit all dependencies.