Ico

OpenZeppelin 中的可暫停合約

  • December 21, 2017

我正在嘗試與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您繼承的契約只是添加了pauseand unpause,它更新了一個狀態變數paused。但這就是它自己所做的一切。

您需要在契約中使用whenPaused修飾符whenNotPaused。如果你添加一個函式,那麼當合約處於狀態whenNotPaused時,該函式將不可呼叫。paused(例如,你可能想把它放在你 ICO 期間向人們出售硬幣的任何功能上。)

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