Ico
OpenZeppelin 中的可暫停合約
我正在嘗試與open-zeppelin創建眾售契約。
我想在 ICO 期間暫停代幣銷售。我看到有這個Pausable.sol用於暫停契約(根據我的理解)。我在眾籌合約中呼叫了這個可暫停函式,如下所示:
契約 SampleCrowdsale 是 CappedCrowdsale,可暫停 { 函式 SampleCrowdsale(uint256 _startTime, uint256 _endTime, uint256 _rate, uint256 _cap, address _wallet) 公共 CappedCrowdsale(_cap) 眾籌(_startTime,_endTime,_rate,_wallet) { } 函式 createTokenContract() 內部返回 (MintableToken) { 返回新的 SampleCrowdsaleToken(); } }
部署合約後,在 Mist 的合約管理頁面中,我可以看到暫停和取消暫停選項。但是,觸發它們並沒有任何區別,銷售仍在繼續。我在這裡做錯了什麼,或者這不是可暫停功能在 opnezeppelin 中的工作方式?
Pausable
您繼承的契約只是添加了pause
andunpause
,它更新了一個狀態變數paused
。但這就是它自己所做的一切。您需要在契約中使用
whenPaused
修飾符whenNotPaused
。如果你添加一個函式,那麼當合約處於狀態whenNotPaused
時,該函式將不可呼叫。paused
(例如,你可能想把它放在你 ICO 期間向人們出售硬幣的任何功能上。)