Cambiar la cantidad de gas en Truffle 4

En Truffle 4, estoy realizando la migración truffle developusando el migratecomando en la consola.

Sin embargo da el error

Error: The contract code couldn't be stored, please check your gas amount.

¿Cómo se puede cambiar el gas utilizado? Creo que requiere edición truffle.js? ¿Cuál es el nombre de la red creada al usar truffle developla que da a testrpc escuchando el puerto 9545?

Estoy sufriendo de algo similar. He compilado una nueva función en mi contrato y cuando voy a ejecutar MetaMask salta con 0 Unidades en su límite de gas. A diferencia de la otra función de mi dApp que llenará automáticamente el campo.

Respuestas (1)

Puede cambiar el gas provisto en truffle.js. Además, tenga en cuenta que truffle 4 tiene el optimizador desactivado de forma predeterminada, por lo que probablemente querrá activarlo si el contrato aún no se implementa.

module.exports = {
  networks: {
    development: {
      host: "localhost",
      port: 8545,
      network_id: "*", // Match any network id
      gas: 4500000
    }
  },
  solc: {
    optimizer: {
      enabled: true,
      runs: 200
    }
  }
};
Si usa el testrpc proporcionado por truffle develop, ¿cambiará el porta 9545? para que el gasvalor surta efecto?
Toda la información también se proporciona aquí . No he encontrado la solcparte que mencionas en tu respuesta, pero parece muy interesante, así que le echaré un vistazo. Olvidó mencionar que el valor predeterminado gases 4712388 y también olvidó mencionar la gasPriceopción (siendo el valor predeterminado 100000000000).
Una cosa más: descubrí que "localhost"puede hacer que truffle falle en algunos sistemas operativos (a saber, Windows), cuando la red está desconectada. Para resolver este problema, simplemente puede reemplazarlo con "127.0.0.1".