Я пытаюсь отправить транзакцию в тестовую сеть с учетной записи с балансом 516 561 000 Бэббиджей. По моим подсчетам, это как раз и есть стоимость совершения сделки. Тем не менее результат всегда "Недостаточно средств на газ * цена + стоимость".
Это транзакция, которую я хочу отправить:
eth_sendTransaction: [{
"from": "0xa7e3c7c227c72a60e5a2f9912448fb1c21078769",
"to": "0x6861973632a44775a0dae132ef4578a95fcebd6c",
"value": "1000000000",
"gasPrice": "20000000000",
"nonce": "0x100000",
"data": "0x4d61726b65745061792e696f202d2041756469744c6f673a204175646974206c6f672074782066726f6d206a75616e20746f20616c656a616e64726f206f662031206575726f73"
}]
result => Insufficient funds for gas * price + value
Это приблизительный расчет газа для этой транзакции:
eth_estimateGas: [{
"from": "0xa7e3c7c227c72a60e5a2f9912448fb1c21078769",
"to": "0x6861973632a44775a0dae132ef4578a95fcebd6c",
"value": "1000000000",
"data": "0x4d61726b65745061792e696f202d2041756469744c6f673a204175646974206c6f672074782066726f6d206a75616e20746f20616c656a616e64726f206f662031206575726f73"
}]
result => 0x64e4 // gasEstimated = 25828
А это средняя цена газа:
eth_gasPrice: []
result => 0x4a817c800 // 20000000000 (gasPrice medium = 20,000 Babbages)
)
Так,
txFeeEstimate = газ * цена = 516 560 000 Бэббиджей
Минимальные средства = газ * цена + стоимость = 516 561 000 Бэббиджей
А согласно https://testnet.etherscan.io/address/0xa7e3c7c227c72a60e5a2f9912448fb1c21078769
Баланс ETH составляет 0,000516561 эфира.
Почему ошибка? Разве в этом случае баланс = газ * цена + стоимость не является?
Можно ли форсировать газ:
eth_sendTransaction: [{ "от": "0xa7e3c7c227c72a60e5a2f9912448fb1c21078769", "кому": "0x6861973632a44775a0dae132ef4578a95fcebd6c", "значение": "1000000000", "Цена газа": "20000000000", "газ": "25828", «одноразовый номер»: «0x100000», "data": "0x4d61726b65745061792e696f202d2041756469744c6f673a204175646974206c6f672074782066726f6d206a75616e20746f20616c656a616e64726f206f662031206575726f73" }]
В противном случае вы позволите системе отправить больше газа, чем расчетное. Скрестим пальцы, что газа действительно достаточно.