Despliegue de proveedor remoto Truffle + INFURA. Las migraciones no se ejecutan

Me encuentro con el mismo problema propuesto por esta pregunta . No puedo resolverlo porque estoy usando un proveedor remoto (INFURA), según este documento .

Mi código se ve así:

var ethwallet = require('ethereumjs-wallet');
var ProviderEngine = require("web3-provider-engine");
var WalletSubprovider = require('web3-provider-engine/subproviders/wallet.js');
var Web3Subprovider = require("web3-provider-engine/subproviders/web3.js");
var Web3 = require("web3");

// Import the raw private key of the admin
const keys = require('../test/keystores/keys.json');
const admin_key = keys.admin.privateKey;
const admin_addr = keys.admin.address;

// Add the admin key to the provider. This will unlock the account so it can
// deploy the contracts and run the tests.
var wallet = ethwallet.fromPrivateKey(Buffer.from(admin_key, 'hex'));
var engine = new ProviderEngine();

// Start the infuranet provider
var infuranet = "https://infuranet.infura.io";
var engine = new ProviderEngine();
engine.addProvider(new WalletSubprovider(wallet, {}));
engine.addProvider(new Web3Subprovider(new 
Web3.providers.HttpProvider(infuranet)));
engine.start();

module.exports = {
  networks: {
    infura: {
      network_id: 5810,
      provider: engine,
      from: admin_addr
    },
    development: {
      host: "localhost",
      port: 8545,
      network_id: "*"
    }
  }
};

Y estoy corriendo:

truffle migrate --network infura

Que cuelga indefinidamente. Esto también sucede si ejecuto:

truffle compile --network infura

O cualquier otra acción de la trufa.

¿Es posible ejecutar esto sin un nodo local? Me gustaría implementarlos en esta red utilizando el proveedor remoto de INFURA.

En lugar de usar infuranet.infura.io, intente con la url obtenida cuando se registró en el servicio de infura.

Respuestas (1)

La respuesta a este problema debería ser agregar dos líneas más, que puede encontrar en la última respuesta aquí .