Solidity
如果契約“現在”送出,共識會失敗嗎?
now關鍵字代表目前時間。因此,如果契約現在已經送出,對等點可能有不同的時間導致區塊鏈中的不同數據。
關鍵字現在返回包含交易的區塊的時間戳。該值由礦工在創建區塊時提供。當其他礦工驗證該塊時,他們只是檢查該塊的時間戳是否正確(在某個範圍內),並在執行程式碼時用 now 關鍵字替換該值。
有關如何計算區塊時間戳的更多資訊,請參閱此相關答案:礦工如何應對巨大的區塊時間?
時間首先需要同步節點才能連接(來自經驗的資訊,其中幾個執行沒有時間同步的私有節點的 raspis 無法連接)。
我假設 now 關鍵字需要在本地節點上創建事務的時間。然後,該時間將與交易一起發送到其他節點。