Bitcoind

使用 sendtoaddress 創建的交易沒有傳播到網路,如何重新發送?

  • December 12, 2021

我在 Centos6 伺服器上執行 Bitcoin Core 0.14.1。在過去的幾天裡,我進行了幾筆交易(接收、發送),一切都很好。

我總是使用 bitcoin-cli sendtoaddress ADDRESS AMOUNT 進行交易……而且效果很好。總是在幾分鐘後,我可以在 Blockchain.info 上看到我未確認的交易

但是昨天我像往常一樣做了一個新的交易,我成功地獲得了一個交易 ID,但是我在區塊鏈中找不到我的交易。接收方也不進行交易。

我試過的:

  • 我等了超過 24 小時(但我的交易沒有出現在區塊鏈中,也沒有包含在任何區塊中)
  • 我關閉了 IP 表並確保錢包已連接到網路。
  • 我用 bitcoin-cli stop 彎腰比特幣並用 bitcoind -rescan 重新掃描
  • 我用 bitcoin-cli stop 彎腰比特幣並用 bitcoind -zapwallettxes 重新製作
  • 我刪除了 .bitcoin 目錄中的 memorypool.dat
  • 我重新載入完整的區塊鏈

誰有解決方案?

如果您有交易 ID,您可以通過以下方式獲取原始十六進制交易:

bitcoin-cli getrawtransaction <txid>

這將產生一個相當長的字元串<rawtx>,即序列化事務。然後你可以使用

bitcoin-cli sendrawtransaction <rawtx>

或任何允許推送交易的 Web 界面(只需搜尋,pushtx我相信您會找到一些提供者)。原始交易不包含任何私人資訊。發布是安全的,但是如果您使用它們,服務可能會將交易歸因於您的 IP,因此請先嘗試sendrawtransaction,這與您的客戶端無論如何都會使用的行為完全相同。

請注意,您的客戶也會每隔一段時間自動重試您的錢包交易,因此可能不需要手動干預。可能是您沒有為 TX 在網路中傳播支付足夠大的費用。

編輯@cdecker 答案。我在使用 Bitcoin Core v22.0.0 時遇到了同樣的問題。我的交易未正確發送,因為我的代理可能無法正常工作,但交易已顯示在我的錢包中,但從未發送到比特幣網路。即使在解決了網路問題之後,Bitcoin Core 也沒有重新發送交易。

如果您使用的是客戶端版本,您可以打開頂部的控制台,然後在沒有比特幣 cli 的情況下鍵入以下內容以重新發送您的交易。

getrawtransaction <txid>

sendrawtransaction <rawtx>

在此處輸入圖像描述

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