Bitcoin-Core

如何創建庫存消息並發送?

  • October 20, 2017

我正在嘗試創建我選擇的特定雜湊的庫存消息。假設我將所有雜湊值都儲存在向量中,如何“手動”創建消息?(例如,獲取總長度、生成校驗和並將所有庫存向量元素添加到消息中,然後將其發送給我的所有同行。)

如果您可以向我指出任何處理此類東西的比特幣核心(v0.14 或 v0.15)原始碼,我們將不勝感激。

您可以使用Peter Todd 的 python-bitcoinlib,其中包含所有網路消息的建構器。

簡單的例子,給定一個雜湊列表:

from bitcoin.net import *
from bitcoin.messages import *

m = msg_inv()
for h in hashes:
   assert len(h) == 32
   inv = CInv()
   inv.type = 1  # TX
   inv.hash = h
   m.inv.append(inv)

inv_msg = m.serialize()

這假設您擁有的雜湊列表是小端未十六進製字元串。

引用自:https://bitcoin.stackexchange.com/questions/61005