Estoy tratando de implementar un contrato simbólico y un contrato de venta colectiva a través de Remix en Ropsten. Sin embargo, me estoy metiendo en problemas. A continuación se encuentran mis dos contratos inteligentes y una explicación de lo que está sucediendo.
MiCoin.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) {
}
}
Primero implemento MyCoin.sol a través de Remix y todo funciona sin problemas como se muestra en este txn .
Sin embargo, cuando implemento MyCoinCrowdsale.sol a través de Remix, aparece un error txn que dice:
Warning! Error encountered during contract execution [Reverted]
Cualquier ayuda sería muy apreciada ya que estoy completamente perplejo.
Debe comprender por qué falla en la implementación y, para eso, debe inspeccionar los constructores.
MintedCrowdsale
no tiene un constructor específico y hereda de Crowdsale
, que tiene uno .
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;
}
Puede ver el 3 require
y es muy probable que esté pasando un valor incorrecto para al menos uno de estos parámetros.
usuario17571