我在Solity6.11上创建了一个ERC20 Mintable+Burnable令牌,在Solity5.0上创建了一个销售合同,当我将ETH发送到销售合同时会出错。
https://rinkeby.etherscan.io/tx/0xb793a7b7f3d5667a2ad5c38ecae273bd4c2fb7d627aa0383da7ab25a2ee71510
我把销售合同交给了minter。
这是销售合同代码:
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
}
}我已设定费率: 1000000000000000000,上限为:96000000000000000000000000000
以防万一有帮助的话。虽然我想问,这顶帽子是代币的还是ETH的?我应该加小数到上限吗?另外,我也读过openzeppelin文档,如果我想给出一个令牌来交换1个ETH,我将把速率设置为1。那么,我是否应该加小数点的比率呢?
发布于 2020-08-24 00:46:46
如果你想给某人发“1 TKN
for every1 ETH”,而你的小数是18,你的比率是1。
要计算费率,请参阅OpenZeppelin合同文档:https://docs.openzeppelin.com/contracts/2.x/crowdsales#crowdsale-rate
如果你对使用OpenZeppelin有疑问,你可以在社区论坛上问:https://forum.openzeppelin.com/
披露:我是OpenZeppelin的社区经理
https://ethereum.stackexchange.com/questions/86883
复制相似问题