Solidity
在 Solidity 中設置時間要求
我希望一個函式只能在契約開始後的某個特定時間段後才能被呼叫。通常,我為此使用 block.number 。如:
require(block.number >= 8000000);
但是,如果我想使用 block.timestamp,我可以這樣做:
contract Time is owned { uint today; constructor() public { today = block.timestamp; }
聲明“今天”,然後設置一個要求:
require (block.timestamp >= today + 365 days);
這是否可以防止在契約發布後的 365 天之前呼叫該函式?
你完全正確!你的做法沒有問題。你可以用很短的時間做一個測試,比如
require (block.timestamp >= today + 60 seconds);