Atascado en la compilación de trufas

Cuando lo ejecuto, truffle compilese atascó para siempre después de compilar los contratos. Estoy importando la biblioteca openzeppelin y usando infura, ropsten y metamask para implementar el contrato en testnet. . Aquí está la salida

Compiling ./contracts/Migrations.sol...
Compiling ./contracts/obaidminttoken.sol...
Compiling zeppelin-solidity/contracts/math/SafeMath.sol...
Compiling zeppelin-solidity/contracts/ownership/Ownable.sol...
Compiling zeppelin-solidity/contracts/token/ERC20/BasicToken.sol...
Compiling zeppelin-solidity/contracts/token/ERC20/ERC20.sol...
Compiling zeppelin-solidity/contracts/token/ERC20/ERC20Basic.sol...
Compiling zeppelin-solidity/contracts/token/ERC20/MintableToken.sol...
Compiling zeppelin-solidity/contracts/token/ERC20/StandardToken.sol...
Writing artifacts to ./build/contracts

Aquí está mi archivo truffle.js

require('dotenv').config();
const HDWalletProvider = require("truffle-hdwallet-provider");
module.exports = {
  networks: {
    development: {
      host: "localhost",
      port: 7545,
      gas: 6500000,
      network_id: "5777"
    },
    ropsten: {
        provider: new HDWalletProvider(process.env.MNENOMIC, "https://ropsten.infura.io/v3/" + process.env.INFURA_API_KEY),
        network_id: 3,
        gas: 4500000
    },
  }
};
truffle compilesolo compila. Si desea implementar, utilicetruffle migrate
¿Cuál es tu versión Trufa?
@goodvibration Truffle v4.1.8 (núcleo: 4.1.9) Solidez v0.4.24 (solc-js)

Respuestas (2)

Verifique que el nombre del archivo sea el mismo que el nombre del contrato, por ejemplo. si el nombre del contrato es: Votación , nombre el archivo voting.sol.
Si eso no funciona, intente eliminar los archivos json build/contracts/y ejecútelo truffle compilede nuevo.

Para obtener más información, consulte https://github.com/trufflesuite/truffle-migrate/issues/14

Sí, lo he comprobado. Traté de ejecutar este comando truffle migrate --network ropstensin compilar y se atascó al guardar artefactos. Una cosa que quiero preguntar, ¿necesito cambiar mi archivo 1_initial_migration.jso solo ?2_initial_migration.js

Este problema se solucionó envolviendo el proveedor de HDWallet en el archivo truffle.js. Aquí hay un código truffle.js actualizado

require('dotenv').config();
const HDWalletProvider = require("truffle-hdwallet-provider");
module.exports = {
  networks: {
    development: {
      host: "localhost",
      port: 7545,
      gas: 6500000,
      network_id: "5777"
    },
    ropsten: {
        provider:function() { return new HDWalletProvider(process.env.MNENOMIC, "https://ropsten.infura.io/v3/" + process.env.INFURA_API_KEY);},
        network_id: 3,
        gas: 4500000
    },
  }
};