Я использую Crowdsale.sol от OpenZeppelin/zeppelin-solidity . Вот фрагмент:
import '../token/MintableToken.sol';
import '../math/SafeMath.sol';
/**
* @title Crowdsale
* @dev Crowdsale is a base contract for managing a token crowdsale.
* Crowdsales have a start and end block, where investors can make
* token purchases and the crowdsale will assign them tokens based
* on a token per ETH rate. Funds collected are forwarded to a wallet
* as they arrive.
*/
contract Crowdsale {
using SafeMath for uint256;
// The token being sold
MintableToken public token;
Это наследуется от MintableToken?
MintableToken.sol наследуется от StandardToken.sol и Ownable.sol. StandardToken.sol наследуется от BasicToken.sol и ERC20.sol. BasicToken.sol наследуется от ERC20Basic.sol и SafeMath.sol.
Я хочу использовать function balanceOf
от BasicToken.sol и uint256 public totalSupply
от ERC20Basic.sol, но они не появляются на remix.ethereum.org (с использованием «JavaScript VM») после создания контракта Crowdsale.
Если я изменю Crowdsale.sol на любое из следующего:
contract Crowdsale is StandardToken {
contract Crowdsale is MintableToken {
contract Crowdsale is BasicToken {
... balanceOf
и totalSupply
появляются (после создания контракта), но они возвращают только 0. Я отправляю немного средств на контракт и ввожу адрес отправителя, balanceOf
и он возвращает 0. Я нажимаю totalSupply
, и он возвращает ноль. Кажется, они не работают.
Что мне нужно сделать, чтобы заставить их работать?
Я думаю, вы неправильно понимаете этот класс. Судя по всему, Crowdsale.sol — это фабрика токенов. Для динамического создания контракта MintableToken потребуется оплата.
Затем вам нужно будет получить доступ к недавно выпущенному токену, чтобы получить доступ к фактическим функциям токена.
Курт