вызвать функцию из смарт-контракта с андроид приложения (через web3j), падает с exceed block gaslimit.
Контракты задеплоены в ganache.. тест той же функции через web3js с реакта выполняется норм
Предполагаю, что web3j не правильно считает estimated gas функций или же не правильно берет дефолтные газ прайс с газ лимитом, которые захардкоженны где-то в хтонических недрах.
Я думаю над 4 вариантами workaround этой проблемы:
а. увеличить дефолтный газпрайс (не понятно как)
б. увеличить кастомный газпрайс для контракта через собственный класс gasPriceProiveder
в. вызывать функции смарт-контракта вызывая мануальные транзакции, а не простой
.send()
, при этом собирая вручную каждую транзакцию
г. найти каску на стройке - понять как можно вызывать send, указывыя параметры gasAmount/gasLimit, если это возможно
Вопросы:
а. можно ли просто вызвать .send() передав туда параметры транзакции так же, как я делаю в web3js?
.send({from: accounts[0], to ... ,gasLimit: myGasLimit})
— что-то вроде такого?
б. сталкивался ли кто-нибудь с подобной проблемой?
мм, hex-строка неправильно кодируется?
вечер свободен, могу зафиксить
Обсуждают сегодня