Я новичок в смарт-контрактах и эфириуме. Я использую 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?
Gas price
должен быть определен вами не слишком низко, чтобы его могли подобрать майнеры. По сути, это война торгов между вами и другими людьми, которые хотят, чтобы их транзакции (включая вызовы контрактов и развертывание контрактов) были заминированы.
Gas limit
можно узнать, предварительно развернув тот же контракт в тестовой сети или в одной из тестовых сетей. Не забудьте добавить немного больше доступного газа (10%-20%), чтобы убедиться, что ваша транзакция не завершится неудачно, и вы не потеряете комиссию за транзакцию.