¿Cómo se calcula la cantidad correcta de gasolina e impuestos para transferir cierta cantidad de dinero?

Dos situaciones.

  1. Desea transferir todo el dinero en una cuenta y desea calcular la cantidad correcta de gasolina e impuestos, de modo que transfiera todo lo que sea posible y deje la cuenta en 0.

  2. Desea transferir una cantidad específica de dinero y desea calcular la cantidad correcta de gasolina e impuestos para transferir exactamente la cantidad deseada.

¿Cómo se calculan ambos valores?

Respuestas (2)

El segundo es más simple, las tarifas de gas se deducen de su cuenta, no del valor transferido, por lo que solo necesita especificar 21K gas (costo de transacción) * 50 shannon (precio mínimo de gas actualmente).

Para barrer su cuenta, debe calcular el costo de la transacción (gas 21K * 50 shannon) y enviar su saldo total: costos. Eso dejará su cuenta en 0 saldo.

Actualmente, parece que en geth hay un error que no permite reducir el saldo a 0, es necesario dejar 1 Wei.
En realidad, es un error de redondeo en la consola JS. Consulte github.com/ethereum/go-ethereum/issues/…

Como lo discutió Tjaden Hess aquí , debe multiplicar la cantidad de gas con el precio del gas y restar un solo wei además de eso (no estoy seguro de por qué).

Puede especificar la cantidad de gas 21,000 y el precio del gas de 50 shannon:

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

Tenga en cuenta que en la billetera mist ethereum, tiene problemas con el redondeo de todos los decimales. Se recomienda utilizar una interfaz de línea de comandos como geth para calcular las cantidades exactas.


El precio del gas es un objetivo móvil. Si esto no funciona, también puede usar la calculadora de costos de transacción para Ethereum.

Ninguno de ustedes me dijo cómo encuentro esos números (21000 y 50). Acabo de intentarlo, pero la transferencia no va...
Del Ethereum Yellow Paper, 21000 es Gtransaction en el Apéndice G. El precio del gas de 50 shannon se solicita en ethereum.stackexchange.com/q/324/42 .