#blockchain #ethereum #solidity #truffle #cryptocurrency
Вопрос:
я работаю над ico, и я получил этот код, краудсейл был с токеном dai, но я хочу работать с эфиром, как я могу это сделать ?
IERC20 public dai = IERC20(0x6B175474E89094C44Da98b954EedeAC495271d0F);
function buy(uint etherAmount)
external
icoActive() {
require(
etherAmount >= minPurchase amp;amp; etherAmount <= maxPurchase,
'have to buy between minPurchase and maxPurchase'
);
uint tokenAmount = etherAmount.div(price);
require(
tokenAmount <= availableTokens,
'Not enough tokens left for sale'
);
dai.transferFrom(msg.sender, address(this), etherAmount);
token.mint(address(this), tokenAmount);
sales[msg.sender] = Sale(
msg.sender,
tokenAmount,
false
);
}
Ответ №1:
Вы можете использовать модификатор payable
функции. Смотрите документацию о том, как получать эфир в смарт-контрактах.