развертывание контрактов на частном узле занимает вечность

Я пытаюсь развернуть контракты на частном узле geth. Я добыл достаточно, чтобы у меня был баланс аккаунта и была создана DAG.

Вот сетевая статистика для узла:

введите описание изображения здесь

Теперь контракты начинают развертывание, но это занимает слишком много времени. Я застрял более чем на 20 минут на этом сообщении:

Writing artifacts to ./build/contracts

Using network 'development'.

Running migration: 1_initial_migration.js
  Deploying Migrations...
  ... 0x68c7b0fcefaf58e20607bfebe8e31bf2d490fa4474478f0ecd96e540c34d58d3

testrpcзанимает секунды в развертывании. Могу ли я каким-либо образом ускорить это развертывание? Я развертываю на bootstrapузле. Несмотря на то, что bootstrapна изображении он отображается как офлайн, он возвращается через секунду.

(Отредактировано в соответствии с ответом) трюфель:

module.exports = {
  networks: {
    development: {
      host: "172.21.0.6",
      port: 8545,
      // Match any network id
      network_id: "*",
      from: "",
      gas: 4710000
    },
    ropsten: {
      host: "localhost",
      port: 8545,
      network_id: "3",
      from: ""
    }
  }
};
ты занимаешься майнингом? вам нужно сначала начать майнить, иначе tx просто останется в пуле
Я начал майнить, затем, когда DAG завершился и блоки были сделаны, я остановил его. Я не думаю, что смогу выполнять как майнинг, так и развертывание с одной и той же учетной записью, поскольку майнинг блокирует учетную запись; Вот почему я остановил майнинг.
вы можете майнить и развертывать с одной и той же учетной записью одновременно. сами майнеры конечно могут отправлять транзакции :)
Я получаю это сейчас Error: The contract code couldn't be stored, please check your gas amount.. У меня> 600 eth, а ошибка все еще существует. Что я могу с этим поделать?
как вы развертываете свой контракт? включите код развертывания, который не удалось, если вы можете, пожалуйста
Я отредактировал вопрос. Вы имеете в виду этот код или что-то другое?

Ответы (2)

Вам нужно указать количество газа, которое вы готовы потратить, в файле truffle.js, но не более 4710000.

Добавьте строку: gas: 4710000в конфигурацию вашей сети.

Если вы получите exceeds block gas limitобщий размер контрактов, чистое развертывание на блок слишком велико.

Я добавил количество газа в код, он все равно выдает ту же ошибку msg:Error: The contract code couldn't be stored, please check your gas amount.
Можете ли вы опубликовать свой 2_migrationsфайл и контракт, который вы пытаетесь развернуть?
Также вы УВЕРЕНЫ, что вы тоже занимаетесь майнингом, верно? Майнинг — это то, что фактически добавляет ваш контракт в блокчейн.
Я заработал. Я использую докер, и фактическая причина проблемы заключалась в некоторой сложности с изображением, а не в сети. Теперь я могу подключиться к контракту, но он просто говорит: [TXS] Pending: 5 from: bootstrapвместо того, чтобы что-то делать. bootstrapэто образ докера, на котором работает geth. Я продолжал майнить, когда развертывал контракты. Теперь, когда контракты успешно развернуты, я остановил майнинг. Влияет ли это на использование контракта?

Учитывая все комментарии, кажется, что вы не майните при развертывании. КАЖДАЯ транзакция должна быть добыта. Так что начинайте добывать, и этого достаточно.