Как рассчитать нужное количество газа и налога для перевода определенной суммы денег?

Две ситуации.

  1. Вы хотите перевести все деньги со счета и хотите рассчитать правильную сумму газа и налогов, поэтому вы переводите все, что возможно, и оставляете счет с 0.

  2. Вы хотите перевести определенную сумму денег и рассчитать правильное количество газа и налога, чтобы перевести именно нужную сумму.

Как вычислить оба значения?

Ответы (2)

Второй проще, плата за газ списывается с вашего счета, а не из переведенной стоимости, поэтому вам нужно указать только 21K газа (стоимость транзакции) * 50 шеннон (минимальная цена газа на данный момент).

Чтобы очистить свой счет, вам необходимо рассчитать стоимость транзакции (21 тыс. газа * 50 шеннонов) и отправить общий баланс - затраты. Это оставит ваш счет с нулевым балансом.

На данный момент выясняется, что в гете есть баг, не позволяющий свести баланс к 0, нужно оставить 1 вей.
На самом деле это ошибка округления в консоли JS. См. github.com/ethereum/go-ethereum/issues/…

Как обсуждал Тьяден Хесс, вам нужно умножить количество газа на цену газа и вычесть из этого один вей (не знаю, почему).

Вы можете указать количество газа 21 000 и цену газа 50 шеннонов:

{from:'0xACCOUNT', to:'0xRECIPIENT', value:eth.getBalance('0xACCOUNT') - 21000 * 50000000000 - 1, gas:21000, gasPrice:50000000000}

Обратите внимание, что в кошельке Mist ethereum у вас есть проблемы с округлением всех десятичных знаков. Для определения точных сумм рекомендуется использовать интерфейс командной строки, такой как geth.


Цена на газ является движущейся целью. Если это не работает, вы также можете использовать калькулятор стоимости транзакций для Ethereum.

Ни один из вас не сказал мне, как мне найти эти числа (21000 и 50). Я только что попытался это сделать, но передача не идет...
Из Ethereum Yellow Paper 21000 — это Gtransaction в Приложении G. Цена газа в 50 шеннонов запрашивается на ethereum.stackexchange.com/q/324/42 .