Я задал тот же вопрос здесь , алиасинг здесь, чтобы привлечь больше внимания.Я подумываю о заключении договора купли-продажи с ограниченным количеством участников с использованием CappedCrowdsale
и MintableERC721
OpenZeppelin.Интересно, лучше ли чеканить токены, как только достигнут предел, или чекать отдельно, как только получен платеж?Я начал строить это, предполагая чеканить в конце распродажи, но я не уверен в некоторых вещах.Я придумала следующее:
pragma solidity ^0.4.24;
import "./openzeppelin-solidity/contracts/crowdsale/validation/CappedCrowdsale.sol";
import "./openzeppelin-solidity/contracts/token/ERC721/ERC721Full.sol";
import "./openzeppelin-solidity/contracts/token/ERC721/ERC721Mintable.sol";
//import "./openzeppelin-solidity/contracts/token/ERC721/IERC721.sol";
contract SSale is CappedCrowdsale, ERC721Full {
using SafeMath for uint256;
/*
??? using ERC721Mintable for ERC721Full; ???
uint256 private _rate;
address private _wallet;
*/
IERC721 private _token;
/* @param _rate for Crowdsale
@param _wallet for Crowdsale
@param _token for Crowdsale
@param _cap for CappedCrowdsale
@param name for ERC721Full
@param symbol for ERC721Full
*/
constructor(uint256 _rate, address _wallet, IERC721 token,
uint _cap,
string name, string symbol) public
Crowdsale(_rate, _wallet, _token)
CappedCrowdsale(_cap)
ERC721Full(name, symbol){}
}
В текущей версии выдается объявление об ошибке: идентификатор не найден или не уникален в строке 17:
IERC721Full private _token;
CappedCrowdsale
наследуется Crowdsale
контракт, который принимает (uint256 тариф, адресный кошелек, токен IERC20) в качестве параметров в дополнение к _cap of CappedCrowdsale.В моем случае мне пришлось бы заменить IERC20 на IERC721.
Я не уверен, должен ли / как импортировать ERC721Full
и интерфейс ERC721Mintable
, потому что ERC721Mintable
не принимает параметров конструктора, но наследует ERC721Full
, который принимает имя из двух строк, символ соответственно.Буду признателен за любые советы, исправления и предложения по импорту соответствующих библиотек и соответствующим образом построению конструктора.Не стесняйтесь комментировать и мой выбор библиотеки, дайте мне знать, что вы думаете о 0xcert, Modular-Networks.