как узнать цену газа смарт-контракта и лимит газа при развертывании контракта с использованием web3j

Я новичок в смарт-контрактах и ​​эфириуме. Я использую web3j для развертывания контрактов в частной сети. Следуя этому руководству https://github.com/web3j/web3j.

В приведенном ниже разделе кода запрашивается лимит газа и цена газа по контракту.

Web3j web3 = Web3j.build(new HttpService());  // defaults to http://localhost:8545/
Credentials credentials = WalletUtils.loadCredentials("password", "/path/to/walletfile");

YourSmartContract contract = YourSmartContract.deploy(
        <web3j>, <credentials>,
        GAS_PRICE, GAS_LIMIT,
        <param1>, ..., <paramN>).send();  // constructor params

как мне определить GAS_PRICE, GAS_LIMIT? до этого я использовал кошелек ethereum для развертывания контракта, он автоматически оценивает цену газа и лимит. Я новичок, я не знаю, как оценить цену газа и лимит без кошелька ethereum?

Ответы (1)

Gas priceдолжен быть определен вами не слишком низко, чтобы его могли подобрать майнеры. По сути, это война торгов между вами и другими людьми, которые хотят, чтобы их транзакции (включая вызовы контрактов и развертывание контрактов) были заминированы.

Gas limitможно узнать, предварительно развернув тот же контракт в тестовой сети или в одной из тестовых сетей. Не забудьте добавить немного больше доступного газа (10%-20%), чтобы убедиться, что ваша транзакция не завершится неудачно, и вы не потеряете комиссию за транзакцию.