Solidity

如果契約“現在”送出,共識會失敗嗎?

  • May 11, 2017

now關鍵字代表目前時間。因此,如果契約現在已經送出,對等點可能有不同的時間導致區塊鏈中的不同數據。

關鍵字現在返回包含交易的區塊的時間戳。該值由礦工在創建區塊時提供。當其他礦工驗證該塊時,他們只是檢查該塊的時間戳是否正確(在某個範圍內),並在執行程式碼時用 now 關鍵字替換該值。

有關如何計算區塊時間戳的更多資訊,請參閱此相關答案:礦工如何應對巨大的區塊時間?

時間首先需要同步節點才能連接(來自經驗的資訊,其中幾個執行沒有時間同步的私有節點的 raspis 無法連接)。

我假設 now 關鍵字需要在本地節點上創建事務的時間。然後,該時間將與交易一起發送到其他節點。

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