Solidity

避免使用“現在”

  • July 8, 2019

我正在使用“現在”來保存塊時間戳詳細資訊。但是有一個警告要避免使用它。如果我們需要避免它,那麼最好的選擇是什麼。

在此處輸入圖像描述

通常不鼓勵使用block.timestamp(這是別名),因為它在某種程度上可以被礦工操縱。now如果您需要將時間精確到約 90 秒內,這只是一個問題,如果您關心更長的時間尺度,而精確的時間並不重要,那麼now就很好了。

社區喜歡使用礦工無法篡改的“區塊號”等精確的東西。

now / block.timestamp 可以在一定程度上被礦工操縱,因為它依賴於機器實際找到塊的時間,這就是 linter 告訴你不要使用它的原因。

如果您沒有將這段時間用於真正重要的事情,例如“為獲勝者獎勵價值”,那麼您可以使用它。

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