La migración de trufas falla

Estoy usando testrpc. Mientras ejecuto la migración de trufas, aparece el siguiente error:

/usr/local/lib/node_modules/truffle/node_modules/truffle-contract/contract.js:671
        throw new Error(this.contract_name + " has no network configuration for its current network id (" + network_id + ").");
        ^

Error: XXXTokenFactory has no network configuration for its current network id (1497979617513).

Mi truffle.js como el siguiente contenido

// Allows us to use ES6 in our migrations and tests.
require('babel-register')

module.exports = {
  networks: {
    development: {
      host: 'localhost',
      port: 8545,
      network_id: '*' // Match any network id
    }
  }
}

¿Qué me estoy perdiendo? Agradecería cualquier ayuda que reciba. Gracias

¿definió su contrato en el archivomigrations/2_deploy_contracts.js?
Sí, lo hice. Olvidé mencionar que mi XXXTokenFactory es una implementación de MultisigWallet de Open Zeppelin

Respuestas (2)

Esto parece ocurrir si intenta implementar un contrato Aque depende del contrato Bantes de que el contrato Bhaya terminado de implementarse.

Probablemente tengas algo como esto:

module.exports = function(deployer, network, accounts) {
  deployer.deploy(B);
  deployer.deploy(A, B.address);
};

Es esencialmente una condición de carrera porque B.addressprobablemente no esté listo a tiempo para la segunda deployer.deployllamada. Así que usa la promesa que deployregresa así:

module.exports = function(deployer, network, accounts) {
  deployer.deploy(B).then(function() {
    return deployer.deploy(A, B.address);
  });
};
Esta solución no funcionó para mí. sigue recibiendo el mismo error.
Lo mismo para mí hasta que me di cuenta de la returndeclaración. Después de agregar eso, funcionó.

Prefiero esta sintaxis:

module.exports = function(deployer, network, accounts) {

    deployer.then(async () => {
        await deployer.deploy(A);
        await deployer.deploy(B, A.address);
        //...
    });
};

ya que es mucho más legible cuando tienes muchos contratos.

Consulte también: https://github.com/trufflesuite/truffle/issues/501#issuecomment-373886205