Timestamp
一段時間後如何檢查契約狀態?
我正在寫一份契約,我需要檢查是否在 5 分鐘內沒有購買新的代幣,那麼銷售應該結束。我的意思是,假設使用者 A 購買了 100 個代幣,現在我想看看在接下來的 5 分鐘內是否沒有人購買代幣,那麼銷售將被關閉。
我期待氣體高效和自動的方式。
有人可以幫忙嗎?
也許是這樣的?
uint256 lastSaleTimestamp; function isOpen() public view { // The sale is open if there haven't been any purchases or if the last // purchase was more than 5 minutes ago. return lastSaleTimestamp == 0 || now <= lastSaleTimestamp + 5 minutes; } function buy(...) external { require(isOpen(), "Sale is already closed."); lastSaleTimestamp = now; ...