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 balanceOf
BasicToken.sol y uint256 public totalSupply
ERC20Basic.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 {
... balanceOf
y totalSupply
aparecen (después de crear el contrato), pero solo devuelven 0. Envío algunos fondos al contrato e ingreso la dirección del remitente balanceOf
y devuelve 0. Hago clic en totalSupply
y devuelve cero. No parecen estar funcionando.
¿Qué debo hacer para que estos funcionen?
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.
Brusco