Tengo un token ERC20 Mintable+Burnable creado en solidity 6.11 y un contrato de venta en solidity 5.0 Recibo un error cuando envío ETH al contrato de venta.
https://rinkeby.etherscan.io/tx/0xb793a7b7f3d5667a2ad5c38ecae273bd4c2fb7d627aa0383da7ab25a2ee71510
Le he dado rol de minter al contrato de venta.
Este es el código del contrato de venta:
pragma solidity ^0.5.0;
import "https://github.com/OpenZeppelin/openzeppelin-contracts/tree/v2.5.1/contracts/crowdsale/emission/MintedCrowdsale.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/tree/v2.5.1/contracts/crowdsale/validation/CappedCrowdsale.sol";
import "https://github.com/OpenZeppelin/openzeppelin-contracts/tree/v2.5.1/contracts/crowdsale/Crowdsale.sol";
contract BotSale is Crowdsale, MintedCrowdsale, CappedCrowdsale {
constructor (
uint256 rate,
address payable wallet,
IERC20 token,
uint256 cap
)
MintedCrowdsale()
Crowdsale(rate, wallet, token)
CappedCrowdsale(cap)
public
{
// solhint-disable-previous-line no-empty-blocks
}
}
He establecido Tasa: 10000000000000000000 y Cap to: 96000000000000000000000000
Solo en caso de que eso ayude. Aunque quiero preguntar, ¿este límite es de tokens o ETH? ¿Y debo agregar decimales al límite? También he leído en los documentos de Openzeppelin para establecer la tasa en 1 si quiero dar 1 token a cambio de 1 ETH. Entonces, ¿debería agregar decimales en la tasa o no?
Si desea emitir a alguien "1 TKN
for every
1 ETH", y sus decimales son 18, su tasa es1
.
Para calcular la tarifa, consulte la documentación de contratos de OpenZeppelin: https://docs.openzeppelin.com/contracts/2.x/crowdsales#crowdsale-rate
Si tiene preguntas sobre el uso de OpenZeppelin, puede preguntar en el foro de la comunidad: https://forum.openzeppelin.com/
Divulgación: soy el administrador de la comunidad en OpenZeppelin