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

MIT 协议

48KB
976

注重隐私的比特币交易广播器

这是一个Rust包,通过连接到一组随机的比特币节点,直接将比特币交易广播到P2P网络。这与其他广播工具不同,因为它不与任何集中式服务(如区块浏览器)交互。

该库完全自包含,不需要Bitcoin Core或其他依赖项。

如果同一系统上运行了Tor,将通过新创建的电路连接到P2P网络。后台运行Tor浏览器就足够了。Tor守护进程也有效。

广播过程

  1. 通过DNS种子解析对等点。
  2. 检测是否有Tor。
  3. 尽可能通过Tor连接到10个随机对等点。
  4. 向单个对等点广播交易。
  5. 等待交易在网络中可见。
  6. 断开连接。

使用方法

 // 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