5 个不稳定版本
0.4.0 | 2024年6月3日 |
---|---|
0.3.0 | 2024年5月27日 |
0.2.4 | 2024年5月23日 |
#40 in #broadcast
每月下载量 35
用于 pushtx-cli
48KB
976 行
注重隐私的比特币交易广播器
这是一个Rust包,通过连接到一组随机的比特币节点,直接将比特币交易广播到P2P网络。这与其他广播工具不同,因为它不与任何集中式服务(如区块浏览器)交互。
该库完全自包含,不需要Bitcoin Core或其他依赖项。
如果同一系统上运行了Tor,将通过新创建的电路连接到P2P网络。后台运行Tor浏览器就足够了。Tor守护进程也有效。
广播过程
- 通过DNS种子解析对等点。
- 检测是否有Tor。
- 尽可能通过Tor连接到10个随机对等点。
- 向单个对等点广播交易。
- 等待交易在网络中可见。
- 断开连接。
使用方法
// this is our hex-encoded transaction that we want to parse and broadcast
let tx = "6afcc7949dd500000....".parse().unwrap();
// we start the broadcast process and acquire a receiver to the info events
let receiver = pushtx::broadcast(vec![tx], pushtx::Opts::default());
// start reading info events until `Done` is received
loop {
match receiver.recv().unwrap() {
pushtx::Info::Done(Ok(report)) => {
println!("{} transactions broadcast successfully", report.success.len());
break;
}
pushtx::Info::Done(Err(err)) => {
println!("we failed to broadcast to any peers, reason = {err}");
break;
}
_ => {}
}
}
还有一个可执行文件(pushtx-cli
)可用。
免责声明
本项目没有任何保证。请参阅许可证以获取详细信息。
依赖项
~9–20MB
~159K SLoC