Usando un contrato de venta colectiva, ¿cómo acuñar token en otro contrato de token?

Estoy tratando de crear un contrato de venta colectiva con open-zeppelin . Estoy usando SampleCrowdsale.sol . Creo que la siguiente línea de código crea un contrato de token y acuña el token al recibir ether.

función createTokenContract() retornos internos (MintableToken) {
    devuelve nuevo SampleCrowdsaleToken();
  }

Sin embargo, prefiero que el contrato de venta colectiva acumule un token en otro contrato de token minable. ¿Hay alguna forma en que el contrato de venta colectiva pueda interactuar con un contrato de token externo? Cualquier sugerencia o fragmento de código sería realmente útil.

Respuestas (1)

Sí, lo que debe hacer es primero crear su token en un contrato separado. Luego, cuando creas tu crowdsale, pasas al constructor la dirección de tu token.

Esta es una muestra tomada del Ethereum Crowdfund tu idea

pragma solidity ^0.4.16;

interface token {
    function mintToken(address receiver, uint amount);
}

contract Crowdsale {
    token public tokenReward;

    /**
     * Constrctor function
     */
    function Crowdsale(
        address addressOfTokenUsedAsReward
    ) {
        tokenReward = token(addressOfTokenUsedAsReward);
    }
}
¡Gracias por guiar! Sin embargo, ¿no necesita algún tipo de autorización? Quiero decir, ¿no debería esto permitirme acuñar cualquier token existente para el que tenga una dirección?
@qmFaisal Sí, si está utilizando el contrato de propiedad con su token, simplemente puede otorgar la propiedad al contrato de venta colectiva. Solo asegúrese de poder recuperar la propiedad del token y también de que todo esté seguro.
@qmFaisal Por cierto, ha hecho muchas preguntas sin aceptar ninguna. Considere aceptar respuestas que resuelvan su problema.