No se puede implementar crowdsale

cuando estoy haciendo truffle migre. Puedo implementar mi contrato de venta colectiva pero mi contrato de token se está implementando pero no el contrato de venta colectiva.

var Sportist = artifacts.require("./Sportist.sol");
var SportistCrowdsale = artifacts.require("./SportistCrowdsale.sol");


module.exports = async function (deployer) {
    let rate = 1;
    let wallet = "0x300c7b7198a772C2154e4f2a47C0d89407a95A8A";
    let token;
    let openingTime = Math.floor((new Date()).getTime()/1000);
    let closingTime = openingTime + 1 * 60 * 60 * 24;
    let cap = 500000;
    let goal = 50000;
    let tokenWallet = "0x300c7b7198a772C2154e4f2a47C0d89407a95A8A";

let a  = await deployer.deploy(Sportist, "Sportist", "S", 6, 2000000000)
 console.log("asdasdasdasdasdasdasdasdasdasd");
token = await Sportist.deployed().then(instance=>instance.address)



await deployer.deploy(SportistCrowdsale,
    rate, wallet, token,
    openingTime, closingTime,
    cap,
    goal,
    tokenWallet)

    const crowdsale = await DappTokenCrowdsale.deployed();


console.log("after deployement ");

};

en la consola esta mostrando que

Using network 'development'.

Running migration: 2_deploy.js
  Replacing Sportist...
  ... 0x211c7f7e0678bacec29a7d8032ae8949faca2cc381586b8b541f5faf3804c1f9
  Sportist: 0x2fb7fa517002ca3a7af45deea0479f287d5089fb
Saving successful migration to network...
asdasdasdasdasdasdasdasdasdasd
  ... 0x760538642ffd049748b5bf3ff5624b0065e6b0e3bbbb1aaf99ad341de2bc99f1
  Deploying SportistCrowdsale...
Saving artifacts...

y el contrato de crowdsale es

pragma solidity ^0.4.24;

import "./crowdsale/distribution/RefundableCrowdsale.sol";
import "./crowdsale/distribution/PostDeliveryCrowdsale.sol";
import "./crowdsale/validation/CappedCrowdsale.sol";
import "./crowdsale/emission/AllowanceCrowdsale.sol";
import "./crowdsale/emission/StagedCrowsale.sol";

contract SportistCrowdsale is RefundableCrowdsale, CappedCrowdsale, PostDeliveryCrowdsale, AllowanceCrowdsale, StagedCrowsale {
    constructor(
        uint256 rate, address wallet, IERC20 token,
        uint256 openingTime, uint256 closingTime,
        uint cap,
        uint256 goal,
        address tokenWallet) 
        Crowdsale(rate, wallet, token)
        TimedCrowdsale(openingTime, closingTime)
        CappedCrowdsale(cap)
        RefundableCrowdsale(goal)
        AllowanceCrowdsale(tokenWallet)
        StagedCrowsale()
    public {}

    function() external payable {
        buyTokens(msg.sender);
    }
}
¿podemos ver el código del contrato de crowdsale?
Lo he editado ahora, compruébalo.
¡El contrato se ve genial! Los contratos son de OpenZeppelin . Me gustaría saber algunas cosas más de usted. ¿Está desplegando en la red principal o está haciendo algo como 'migrar trufa --network rinkeby'? Además, ¿finaliza la ejecución sin errores o permanece para siempre en el estado de 'Guardando artefactos...'?
Lo estoy implementando en ganache.
Encontré a otras personas con el mismo error. Puede ser un error aleatorio/casual. Verifique esto y este es mi consejo para usted: cambie la ID de red en ganache o intente 'migrar --reset --network different_networkID'. Eventualmente, simplemente vaya a ganache y haga clic en el botón de configuración y cambie la ID de red a algo como '5782'. Déjame saber si eso funcionó
no funciona hermano
Encontré que la respuesta en espera no es compatible con la versión anterior. Solo está disponible en la versión beta.

Respuestas (1)

podemos usar la función asíncrona en la nueva versión beta de truffle. Así que actualizo la versión de truffle que puedes usar fácilmente. actualicé a la nueva versión beta de truffle