Solidity
避免使用“現在”
我正在使用“現在”來保存塊時間戳詳細資訊。但是有一個警告要避免使用它。如果我們需要避免它,那麼最好的選擇是什麼。
通常不鼓勵使用
block.timestamp
(這是別名),因為它在某種程度上可以被礦工操縱。now
如果您需要將時間精確到約 90 秒內,這只是一個問題,如果您關心更長的時間尺度,而精確的時間並不重要,那麼now
就很好了。
社區喜歡使用礦工無法篡改的“區塊號”等精確的東西。
now / block.timestamp 可以在一定程度上被礦工操縱,因為它依賴於機器實際找到塊的時間,這就是 linter 告訴你不要使用它的原因。
如果您沒有將這段時間用於真正重要的事情,例如“為獲勝者獎勵價值”,那麼您可以使用它。