Solidity
無法通過混音將聯繫人部署到 ropsten
我正在嘗試通過 Ropsten 上的 Remix 部署代幣合約和眾籌合約。但是我遇到了麻煩。以下是我的智能合約和對正在發生的事情的解釋。
MyCoin.sol
pragma solidity ^0.4.18; import 'github.com/OpenZeppelin/zeppelin-solidity/contracts/token/ERC20/CappedToken.sol'; contract MyCoin is CappedToken { string public name = "MY COIN"; string public symbol = "MYC"; uint8 public decimals = 18; uint256 public cap = 500000000000000000000000; function MyCoin () CappedToken(cap) public payable { } }
MyCoinCrowdsale.sol
pragma solidity ^0.4.19; import 'browser/MyCoin.sol'; import 'github.com/OpenZeppelin/zeppelin-solidity/contracts/crowdsale/emission/MintedCrowdsale.sol'; contract MyCoinCrowdsale is MintedCrowdsale { function MyCoinCrowdsale ( uint256 _rate, address _wallet, CappedToken _token ) public Crowdsale(_rate, _wallet, _token) { } }
首先,我通過 Remix 部署MyCoin.sol,一切執行順利,如txn所示。
但是,當我通過 Remix部署MyCoinCrowdsale.sol時,我收到一個txn錯誤,其中指出:
Warning! Error encountered during contract execution [Reverted]
任何幫助將不勝感激,因為我完全被難住了。
您必須了解為什麼它在部署時失敗,為此,您必須檢查建構子。
MintedCrowdsale
沒有特定的建構子,它繼承了Crowdsale
,其中有一個。constructor(uint256 _rate, address _wallet, ERC20 _token) public { require(_rate > 0); require(_wallet != address(0)); require(_token != address(0)); rate = _rate; wallet = _wallet; token = _token; }
您可以看到 3
require
並且很有可能您為這些參數中的至少一個傳遞了錯誤的值。