Solidity

在 Solidity 中設置時間要求

  • April 26, 2020

我希望一個函式只能在契約開始後的某個特定時間段後才能被呼叫。通常,我為此使用 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);

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