4个版本
0.2.0 | 2023年11月13日 |
---|---|
0.1.2 | 2022年8月15日 |
0.1.1 | 2022年8月15日 |
0.1.0 | 2022年8月15日 |
#286 in #bitcoin
40KB
918 行
Bitcoin Send Tx P2P
使用比特币点对点协议将比特币交易发送到节点,仅需要交易和节点的IP地址或洋葱地址的库。
底层它创建与节点的连接并执行版本握手。然后它发送带有txid或wtxid的inv
消息,并等待getdata
消息。在发送带有完整交易的tx
消息后断开连接。请注意,如果接收节点已具有该交易,则它不会以getdata
消息响应,在这种情况下,发送函数将超时并断开连接。
安装
在您的项目目录中运行以下Cargo命令
cargo add bitcoin-send-tx-p2p
或添加以下行到您的Cargo.toml
bitcoin-send-tx-p2p = "0.2.0"
示例
use bitcoin::Transaction;
use bitcoin_send_tx_p2p::{send_tx_p2p_over_clearnet, send_tx_p2p_over_tor, Config, Error};
async fn send_tx(tx: Transaction) -> Result<(), Error> {
let mut config = Config::default();
config.block_height = 1000;
send_tx_p2p_over_clearnet("127.0.0.1:8333".parse()?, tx, Some(config)).await
}
async fn send_tx_tor(tx: Transaction) -> Result<()> {
send_tx_p2p_over_tor("cssusbltvosy7hhomxuhicmh5svw6e4z3eebgnyjcnslrloiy5m27pid.onion:8333", tx, None).await
}
依赖项
~10–22MB
~220K SLoC