Bitcoind
使用 sendtoaddress 創建的交易沒有傳播到網路,如何重新發送?
我在 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>