Transactions
交易會失去嗎?
鑑於我與至少一個對等方連接到網路,我能否確定我發送的交易將被執行(失敗或成功)?有沒有可能它永遠不會進入區塊鏈,所以發送者不會花任何錢?如果它被包含在某個塊中,但隨後該塊被孤立了怎麼辦?我的交易會被“刪除”嗎?
如果有這種可能性,該如何處理?鑑於我記錄了
TxHash
,我可以/應該定期檢查它,如果在“大量”塊之後仍然不存在,提醒使用者他們的交易沒有執行,他們應該再次發送嗎?這個解決方案看起來很容易出現雙重支出。此外,從這個答案中,我了解到交易可能會在很久以後消失並重新出現,因此等待的“大量”塊是不確定的。那麼如何確保交易包含在區塊鏈中呢?謝謝
基於工作量證明的區塊鍊是機率性的,隨著越來越多的區塊建立在包含交易的區塊上,鏈重組移除該區塊和交易的機率變得極低。
我可以/應該定期檢查它,如果在“大量”塊之後仍然不存在,提醒使用者他們的交易沒有執行,他們應該再次發送?
是的,對於一些程式碼,請參閱 DApp 如何使用 web3.js 或其他庫檢測分叉或鏈重組?
在主網上,大約12 個確認 被認為是安全的。(在像 Ropsten 這樣的測試網上,保證要弱得多,甚至64 次確認都不夠)。
要確保交易包含在區塊鏈中,請確保它具有:
- 合理的汽油價格(以便礦工將其包含在一個區塊中)
- 足夠的gas(這樣交易就不會被撤銷)
然後將交易廣播給十幾個對等點,並使用多個客戶端對其進行監控。