Как узнать, сколько будет стоить контрактное развертывание?

Я пытаюсь развернуть контракт в Эфириуме, но постоянно получаю ошибку «Нет газа».

Как я могу заранее узнать, сколько эфиров мне нужно для развертывания контракта?

Дублируйте и ответьте здесь: ethereum.stackexchange.com/questions/799/…
Отсутствие газа может быть проявлением неисправности конструктора. Если есть какие-либо обязательные аргументы или какая-либо другая причина, по которой конструктор может дать сбой или, возможно, неверный байт-код, ошибка может всплыть и представиться как кончился газ. Возможно, опубликуйте источник, чтобы узнать, может ли кто-нибудь обнаружить проблему.
На самом деле это не отвечает на мой вопрос, в этом ответе есть эта таблица, в которой упоминается только низкоуровневое программирование, как я могу оценить свой код на основе этого? Есть ли какой-нибудь инструмент, который может предварительно рассчитать стоимость или что-то в этом роде?
@ Роб, нет ли инструмента для расчета?
Самый простой способ узнать это — просто развернуть контракт на testrpc или в тестовой сети и посмотреть, сколько он стоит.
Есть ли какой-нибудь онлайн-инструмент для этого? Я не синхронизируюсь с сетью на моем компьютере
@DakotaQuint Что сказал Тьяден, или перетащите исходный код в Remix и посмотрите, что он оценивает. Либо будет работать. В любом случае отсутствие газа может ввести в заблуждение. Если есть проблема с развертыванием контракта, то никакого количества газа не хватит, поэтому указываю вам на это. Не пытаясь запутать проблему.

Ответы (1)

Одним из онлайн-инструментов (без синхронизации и установки) является Remix, также известный как Browser Solidity.

https://эфириум.github.io/браузер-солидность

На снимке экрана ниже тривиальный контракт под названием «Смертный» стоил 319 273 газа для развертывания.

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

Надеюсь, поможет.

Но мой контракт включает в себя другой небольшой контракт и другие контракты, которые я установил через npm. Похоже, ремикс в данном случае бесполезен.
Спасибо @Rob Это полезно. Как мы можем сделать это программно?
Есть несколько платформ, которые вы можете использовать. Hardhat специально создан для тестирования и развертывания контрактов. Есть еще трюфель. Оба позволяют создавать сценарии процессов развертывания на JavaScript. (Чрезмерное упрощение)npx hardhat deploy --network kovan