Security

測試網首次交易 Nonce

  • May 18, 2016

我正在實現具有不同乙太坊功能的後端。我需要能夠創建原始交易。我已經使用 Node.JS 中的 Web3 sendRawTransaction 成功地做到了,但我想知道當地址沒有發送任何東西時,我應該如何計算第一筆交易 Nonce。如果有之前的交易,我會計算之前的 + 1 (正如它在論文中建立的那樣)但是當沒有之前的時候,我的理解是我應該輸入 1,但我看到它們出於某種原因從 0x100000 開始我不得到。

有人知道答案嗎?

看起來你在一個測試網上,它實現了 2^20 (0x100000) 的初始隨機數。

使用它的原因是為了防止對主網上的重放攻擊,其中測試網上的交易被中繼到主網節點,從而導致發送真實的乙太幣。

通過將初始隨機數設置為高於它在主網路上可以達到的值,我們可以防止測試網交易在實時網路上有效。

要計算隨機數,只需將您期望的隨機數添加到 0x100000

詳細資訊:https ://github.com/ethereum/wiki/wiki/Morden#details

引用自:https://ethereum.stackexchange.com/questions/3215