16 stable releases
1.5.2 | Aug 6, 2024 |
---|---|
1.5.1 | Jul 10, 2024 |
1.5.0 | May 17, 2024 |
1.4.0 | Jan 23, 2024 |
1.2.0 | Jul 28, 2023 |
#4 in #bitcoin-core
361 downloads per month
57KB
1.5K
SLoC
Rust Bitcoin Core ZMQ Subscriber
Usage example
fn main() {
for msg in bitcoincore_zmq::subscribe_receiver(&["tcp://127.0.0.1:28359"]).unwrap() {
match msg {
Ok(msg) => println!("Received message: {msg}"),
Err(err) => println!("Error receiving message: {err}"),
}
}
}
For more examples, have a look in the examples directory.
Features
- Minimal dependencies: the 2 crates
bitcoin
andzmq
, optionally 2 additional crates are needed for the async subscriber,async_zmq
andfutures-util
. - Handles all message types from Bitcoin Core:
hashblock
,hashtx
,block
,tx
andsequence
. - Flexible: choose between blocking functions with a callback, reading from a Receiver or reading from an asynchronous Stream without locking to a specific async runtime.
Testing
Tests run on every push and pull request. Integration tests use the latest version of the 5 most recent major Bitcoin Core versions, see integration_tests.yml.
Useful resources
TODO:
- This README
- SequenceMessage itest
- Easy addEventListener like functionality with help of the
getzmqnotifications
rpc - raw messages
- zmq publisher
- include source in message
Dependencies
~9.5MB
~123K SLoC