У меня проблема с моим ICO.Я сделал мой пример, используя учебное пособие здесь: https://blog.zeppelin.solutions/how-to-create-token-and-initial-coin-offering-contracts-using-truffle-openzeppelin-1b7a5dae99b6
Все работает хорошо, пока я не добавлю CappedCrowdsale в свой контракт на предпродажную подготовку.Все компилируется и мигрирует, но когда я хочу купить несколько токенов, я все время получаю возврат.Я попытался надеть большую крышку, меньшую и все ту же.
pragma solidity ^0.4.21;
import "./MySuperCoin.sol";
import "../node_modules/openzeppelin-solidity/contracts/crowdsale/emission/MintedCrowdsale.sol";
import "../node_modules/openzeppelin-solidity/contracts/crowdsale/validation/TimedCrowdsale.sol";
import "../node_modules/openzeppelin-solidity/contracts/crowdsale/validation/CappedCrowdsale.sol";
contract MySuperCoinPresaleOne is MintedCrowdsale, TimedCrowdsale, CappedCrowdsale {
constructor(
uint256 _openingTime,
uint256 _closingTime,
uint256 _rate,
address _wallet,
uint256 _cap,
MintableToken _token
)
Crowdsale(_rate, _wallet, _token)
CappedCrowdsale(_cap)
TimedCrowdsale(_openingTime, _closingTime)
public {
}
}
const MySuperCoinPresaleOne = artifacts.require('./MySuperCoinPresaleOne.sol');</p>
<p>const MySuperCoin = artifacts.require('./MySuperCoin.sol');</p>
<p>module.exports = function(deployer, network, accounts) {
const openingTimeOne = web3.eth.getBlock('latest').timestamp + 2; // two secs in the future
const closingTimeOne = openingTimeOne + 60*60 * 5; // 5 mins days
const capOne = new web3.BigNumber(2000);
const rateOne = new web3.BigNumber(100);</p>
<pre><code>const walletOne = accounts[1];
return deployer
.then(() => {
return deployer.deploy(MySuperCoin);
})
.then(() => {
return deployer.deploy(
MySuperCoinPresaleOne,
openingTimeOne,
closingTimeOne,
rateOne,
walletOne,
capOne,
MySuperCoin.address
);
});
};
Буду признателен за вашу помощь.