Go-Ethereum
如果已經處理的事務再次送出到網路會發生什麼?
我有一個腳本,它使用 JSON RPC API 呼叫自動將事務發送
eth_sendRawTransaction
到啟用了 RPC 的節點。我的問題是,如果我在處理完這些交易後多次發送這些交易(可能有很多,順便說一句)會發生什麼?
可以說,我的腳本有錯誤,或者我儲存
sent
交易狀態的數據庫被刪除,並且不知何故我再次重新送出了許多(已經處理並儲存在區塊鏈上)原始交易?我基本上想知道我第二次送出這些交易是否會賠錢?礦工可以在報告錯誤的同時處理它並收取費用嗎?邏輯表明,我不應該多次送出交易,因為
nonce
和transaction hash
是唯一值,但我想確定這一點。此外,如果重新送出已處理的交易不花錢,這是否會成為對乙太坊主網的潛在 DDoS 攻擊?比如,重新送出區塊鏈已經處理的所有交易?
對於每個發送者地址,具有一定隨機數的交易只能被探勘一次。您不會損失任何金錢,但其他節點可能會與您斷開連接,因為他們可能認為您在發送垃圾郵件。
當乙太坊節點收到交易時,它不會立即將其重新廣播到其所有連接。您將無法使用此方法對網路進行 DDoS 攻擊。
這是您再次重新送出交易時得到的結果:
Error: nonce too low