BalanceOf de BasicToken y totalSupply de ERC20Basic no funciona desde Crowdsale.sol

Estoy usando Crowdsale.sol de OpenZeppelin/zeppelin-solidity . Aquí hay un fragmento:

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;

¿Esto se hereda de MintableToken?

MintableToken.sol hereda de StandardToken.sol y Ownable.sol. StandardToken.sol hereda de BasicToken.sol y ERC20.sol. BasicToken.sol hereda de ERC20Basic.sol y SafeMath.sol.

Quiero usar function balanceOfBasicToken.sol y uint256 public totalSupplyERC20Basic.sol, pero estos no aparecen en remix.ethereum.org (usando "JavaScript VM") después de crear el contrato Crowdsale.

Si cambio Crowdsale.sol a cualquiera de los siguientes:

contract Crowdsale is StandardToken {

contract Crowdsale is MintableToken {

contract Crowdsale is BasicToken {

... balanceOfy totalSupplyaparecen (después de crear el contrato), pero solo devuelven 0. Envío algunos fondos al contrato e ingreso la dirección del remitente balanceOfy devuelve 0. Hago clic en totalSupplyy devuelve cero. No parecen estar funcionando.

¿Qué debo hacer para que estos funcionen?

Respuestas (1)

Creo que estás malinterpretando esa clase. Por lo que parece, Crowdsale.sol es una fábrica de fichas. Se necesitará un pago para generar un contrato MintableToken dinámicamente.

Luego, deberá acceder al token recién acuñado para acceder a las funciones reales del token.

¿Cómo accedo a estas funciones y variables de Token (balanceOf, transfer, totalSupply) desde: 1) remix 2) wallet? En remix, ¿necesito crear un contrato MintableToken y un contrato Crowdsale para poder acceder a ellos a través del contrato MintableToken?