Bitcoin-Core

未經確認的交易。如何讓我的錢包變得完整

  • March 8, 2022

我正在執行一個帶有未確認事務的節點。我嘗試關閉我的 btc qt,這樣交易就會被遺忘。無濟於事,它不斷轉播交易。我現在也在升級和同步我的 btc qt。但是同步需要很長時間。如果我將密鑰導入軟體錢包電子錢包會發生什麼?我的電子錢包會不會因為未確認的交易而變得完整?有什麼建議?我不再喜歡執行節點或使用 coinbase 檢索我的交易的能力。Coinbase 是假定的接收者。已經兩週了。

無法從網路中刪除您傳輸的交易。

即使您關閉並清理自己的本地客戶端,世界各地的其他客戶端也會在他們的記憶體池中擁有它。這就是為什麼您的本地客戶反映餘額減去您發送的金額,即使它沒有得到確認。這就是它應該如何工作的方式,比特幣 TX 甚至在被開采之前就應該是不可逆轉的。

因此,比特幣沒有可用的 TX 撤銷網路消息。

你唯一能做的就是,在這個不需要的 TX 被確認之前,使用另一個客戶端,它要麼沒有看到你的 TX,要麼允許你製作 TX 並廣播它們,送出一個包含更高費用和相同 UTXO 的新交易. (故意雙花。)

這個新的 TX 將花費您的費用,但如果您將自己的地址設置為受益人,資金將返回您的錢包,並且舊交易將被網路作為雙重支付丟棄。這筆更高的費用是您撤銷舊的不需要的 TX 的成本。所有這些都必須在舊 TX 在區塊中得到確認之前完成。

根據您的描述(同步全節點時出現問題),不知您的“未確認交易”是否真的未確認?它是否已經確認或被丟棄(由於雙花等)?

第一個問題:“卡住”0-確認交易

首先,replace-by-fee 是為了解決“低費用卡住交易”的問題,如果交易啟用了 RBF,你就可以輕鬆地提高費用。

如果你的卡住的交易不是那麼緊急,你可以等待記憶體池自然清空,然後你的交易才會最終被確認,因為現在記憶體池已經不那麼擁擠了(就像過去 2017 年那樣)。

只需在此處觀看最後一個“記憶體池大小 (MB)”圖表:https ://core.jochen-hoenicke.de/queue/#24h

如果你想“加速”或“恢復”這個交易,你有兩個選擇。

第一種選擇:您可以聯繫提供“交易加速(優先)”服務的礦池,如PoolinBTC.COM。但是,此選項可能很昂貴,並且不會退款。

第二種選擇:使用 Electrum 自己“雙花”,這通常比上面提到的交易優先服務便宜得多,但有點複雜。

  1. 找出被卡住的交易正在從中花費的先前交易。您可以在 Bitcoin Core 的調試控制台中使用getrawtransaction STUCK_TXID true(替換為您自己的卡住交易 ID)命令,或者只是在<https://blockstream.info>STUCK_TXID等線上區塊瀏覽器上查詢它。

Blockstream explorer 清楚地顯示了以前的 outpoints,其中 outpoint 以TXID(long alphanumeric text string):INDEX(number)格式表示。例如:此交易花費了 2 個先前的交易,其 TXID00f5854cebdcd318edd325ab07e4157964f225a659302f3f5949ffe07020db4e6d4a34592200324f716a92d8d84db8c85bc97189610b1d4bee4fcb7d56713857 2. 複製先前交易的原始交易數據。您可以簡單地依次點兩下 Bitcoin Core GUI 上顯示的每筆交易,通過交易 ID 找到它們,然後右鍵點擊 -> Copy raw transaction

您也可以改用該命令,如果花費了多個先前的事務,則getrawtransaction PREVIOUS_TXID需要在每個上單獨執行此命令。PREVIOUS_TXID 3. 在離線設備上創建一個新的 Electrum 錢包,然後選擇該Import Bitcoin addresses or private keys選項。 4. 將您的私鑰導入 Electrum。錢包不會同步,因為沒有網際網路——這很好,因為我們不希望 Electrum 取回卡住的交易。 5. Tools通過點擊菜單 -> Load transaction->導入以前的交易From text。 6. 點擊View菜單 ->Show Coins以顯示Coins選項卡。然後切換到Coins選項卡,全選,然後右鍵 -> Spend

當然,如果您確定確切花費了哪些硬幣,那麼您這次不需要花費所有可用的硬幣,這可以減少一點費用 - 但這種情況相對較少。為了避免一次次的人為錯誤,你最好把所有的錯誤都花掉。 7. Preview現在,您將建構一個雙花交易,通過點擊按鈕將這些硬幣發送回您自己的錢包或您想要的任何其他地址。這次你應該選擇更高的費率(sat/Byte),至少要高於卡住的交易。

順便說一句,強烈建議在此交易中啟用按費用替換,以防進一步增加費用。 8. Electrum 能夠顯示此雙花交易的二維碼。使用另一個線上設備用 Electrum 掃描它,然後它可以發送出去。您也可以嘗試將設備重新連接到 Internet 後直接發送。如果您使用的 Electrum 伺服器上的卡住交易尚未過期,則廣播雙花交易可能會遇到一些錯誤。您可以嘗試通過其他方法進行廣播,例如。區塊瀏覽器和sendrawtransaction比特幣核心。

第二個問題:Bitcoin Core全節點同步很痛苦

首先,性能瓶頸通常在於對chainstate儲存UTXO數據庫的子目錄的頻繁I/O操作,尤其是數據目錄放在HDD上(如果HDD是SMR,這應該會使情況變得更糟)。

其次,目前,我個人不贊成剪枝,因為幾乎所有的歷史交易歷史(這正是巨大的區塊鏈所包含的)都被丟棄了,因此重新掃描僅限於最近的區塊。如果您正在導入密鑰/地址/wallet.dat 或zapwallettxes. 未來,這個問題可能會通過一些改進最終得到緩解。

Options如果您的電腦有足夠的可用 RAM,您可以為 Bitcoin Core的數據庫記憶體(見視窗)分配超過 6GB(取決於歷史峰值 UTXO 大小)的 RAM 。這種調整有效地消除了 I/O 瓶頸。(好吧,如果您從某個日期開始趕上,您可能仍然會遇到這個問題,您可以cat(Linux/Mac)或type所有文件(使用*萬用字元)進入/dev/null(Linux/Mac)或nul(Windows)強制作業系統讀取它們一次,然後它們可以被記憶體到 RAM 中)

如果您同時擁有 HDD 和 SSD,您可以配置blocksdir參數以將巨大的區塊鏈遷移到便宜但慢的 HDD,同時將經常訪問的chainstate等保留在快速但昂貴的 SSD 上。

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