В настоящее время я разрабатываю D-приложение для Ethereum, которое можно использовать с расширением Metamask. Я использую трюфельный фреймворк и testrpc для локального тестирования своего приложения.
Когда пользователю необходимо совершить транзакцию для выполнения функции смарт-контрактов, лимит газа для транзакций в окне метамаски всегда уже установлен на (переменную) определенную сумму. Поскольку этой суммы достаточно для большинства моих транзакций, за исключением нескольких, для которых мне приходится вручную устанавливать лимит газа, мне было интересно, как рассчитывается / оценивается эта сумма для лимита газа.
Где я могу найти хорошую информацию по этому вопросу?
Любая помощь будет принята с благодарностью
Я считаю, что MetaMask просто обращается eth_estimateGas
к любому узлу Ethereum, с которым он разговаривает. Реализация eth_estimateGas
обычно заключается в моделировании транзакции и измерении фактически используемого газа. Фактическое количество газа, необходимого при майнинге транзакции, может отличаться, если использование газа по контракту зависит от таких вещей, как номер блока, хэш блока или другие данные, которые могли измениться между временем оценки и временем фактической транзакции. .
Отто