Не удалось сохранить код контракта при развертывании на rinkeby.

Я, наконец, смог получить некоторое финансирование эфира и работу geth/mist, и теперь я получаю следующую ошибку при попытке развернуть мои контракты в тестовой сети rinkeby. Мой проект основан на проекте dotta-license https://github.com/cryppadotta/dotta-license , но я использую стандартные сценарии миграции и развертывания вместо машинописных в проекте.

Не удалось сохранить код контракта. Проверьте количество газа.

Я погуглил, и кажется, что проблема может быть буквально в чем угодно. Может ли кто-нибудь помочь мне в отслеживании проблемы?

трюфель.js

 module.exports = {
      networks: {
    development: {
      host: 'localhost',
      port: 9545,
      network_id: '*' // Match any network id
    },
    rinkeby: {
      host: 'localhost', // Connect to geth on the specified
      port: 8545,
      from: 'xxxxxxxxxxxxxxxx', // default address to use for any transaction Truffle makes during migrations
      network_id: 4,
      gas: 4700000, // Gas limit used for deploys
      gasPrice: 30000000000 // 30 gwei
    },
  },
};
У вас есть идентификатор транзакции?
хэш: 0x5bf94a7c2b3d0a951aeb2db3335c5dc6840e03f09981a7339022bb2aa64cba34
Похоже, у вас закончился бензин, попробуйте увеличить лимит газа.
это должно быть установлено в файле truffle.js?
Изменить gas: 4700000на что-то большее
поменял на газ: 7500000

Ответы (1)

Ваша неудачная транзакция использует 4700000/4700000 газа, что, вероятно, указывает на отсутствие газа, что подтверждается:

  1. имея контрактное развертывание такое идеально круглое количество газа маловероятно
  2. трассировка geth не содержит никаких кодов операций, которые указывали бы на сбой в вычислении конструктора.
  3. Код по адресу договора пустой ( 0x)

Попробуйте увеличить лимит газа для сети rinkeby (но оставьте его <=7400000, иначе вы превысите лимит газа в сети).