Как найти правильное значение "газа" для отправки транзакции в Ropsten testnet?
Я новичок в мире Web3/Ethereum и пытаюсь создать приложение, которое может просто записать блок в тестовую сеть Ropsten через Infuria. К сожалению, следующий код не работает
from web3 import Web3
def sendTransaction(message):
w3 = Web3(
Web3.HTTPProvider(
"https://ropsten.infura.io/v3/my_project_id"
)
)
address = "https://ropsten.infura.io/v3/my_project_id"
privateKey = "my_private_key"
nonce = w3.eth.getTransactionCount(address)
gasPrice = w3.eth.gas_price
value = w3.toWei(1, "ether")
signedTx = w3.eth.account.sign_transaction(
dict(
nonce=nonce,
gasPrice=gasPrice,
gas=1000000000,
to="0x0000000000000000000000000000000000000000",
value=value,
data=message.encode("UTF-8"),
),
privateKey,
)
tx = w3.eth.sendRawTransaction(signedTx.rawTransaction)
txId = w3.toHex(tx)
return txId
В частности, поле gas, похоже, создает проблемы. Если я добавлю слишком много нулей, то получу сообщение об ошибке 'превышен лимит газа в блоке', тогда как при меньшем количестве нулей сообщение об ошибке становится 'недостаточно средств для газа * цена + стоимость'.