No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

12 Días
3 Hrs
49 Min
48 Seg
Curso de Introducción a Solidity

Curso de Introducción a Solidity

Sebastián Leonardo Perez

Sebastián Leonardo Perez

Manejo del gas y comisiones

13/21
Recursos

Aportes 9

Preguntas 7

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Gas y comisiones

El gas es una unidad de medida para el procesamiento de la EVM. Se mide en unidades de gas, y es constante para las mismas operaciones.

  • gasPrice: Es la cantidad de ETH que pagamos por unidad de gas. Es decir, aunque el gas sea constante, la demanda por ese gas puede subir el precio.
  • gasCost: Es la cantidad de unidades de gas que generó la ejecución
  • gasFee: Gas cost * Gas Price

Priority fee

A partir del EIP1559 , se realizaron cambios importantes al mercado de gas, y se contempla el priority fee, que es el extra que menciona Sebastián, y es una propina para el minero con la cuál se obtiene prioridad en la ejecución

Calculos

Hagamos el calculo del costo de las operaciones.

gas_total = (gas_amount * gas_price) + gas_fee

Para simplificar desestimemos el gas_fee, quedando:

gas_total = (gas_amount * gas_price)


Primera operación

El gas_amount es: 119683

El gas_price tiene un valor dinamico, por ej se puede ver aquí un informacion de precios, donde se indica un valor promedio para hoy de unos 75.

¿Qué significa este numero? El Gas prices es denominado en gwei, donde 1 ETH = 1* 10^9 (1,000,000,000) gwei.

Entonces:

gas_total = gas_amount * gas_price = 119683 * 75 = 8976225 gwei = 0,008976225 ETH

Si 1 ETH ~= $4100 USD -> 0,008976225 ETH ~= $36,80 USD.


Segunda operación

El gas_amount es: 43724

gas_total = gas_amount * gas_price = 43724 * 75 = 3279300 gwei = 0,003279300 ETH

Si 1 ETH ~= $4100 USD -> 0,003279300 ETH ~= $13,44 USD.


Tercera operación

El gas_amount es: 23824

gas_total = gas_amount * gas_price = 23824 * 75 = 1786800 gwei = 0,001786800 ETH

*Si 1 ETH ~= $4100 USD -> 0,001786800 ETH ~= $7,32 USD.


Conclusion

  • Son valores altos, por eso tambien se esta trabajando en ETH2.0 para migrar a PoS (Proof of stake)

En esta pagina podras ver cual es el precio del Gas y como fue variando en el tiempo Price Gas

Acuerdense que Ethereum esta buscando migrar de PoW a PoF, lo que reducira drasticamente el precio del Gas.

RESUMEN CLASE 13:
GAS Y COMISIONES

I.- GAS

  • El gas nos indica cuánto procesamiento es necesario para ejecutar una acción.

  • Este indicador es siempre el mismo ante la misma acción.

II.- GAS PRICE

  • Es el precio actual que tiene el gas según el uso de la red.

  • Este valor puede variar en el paso del tiempo.

III.- GAS FEE

  • Es la comisión que se le paga al minero por validar nuestra transacción.

  • Cuando se implementa un contrato o se escribe un valor también estamos realizando una transacción.

IV.- GAS TOTAL

  • Es la cantidad total que se debe pagar por la operación que realizamos. El cálculo es:

Gas total = (Gas x Gas price) + Gas fee

REMIX:

Gas.sol

// SPDX-License-Identifier: GLP-3.0

pragma solidity >=0.7.0 <0.9.0;

contract Gas {

    uint public numero;

    function asignarNumero(uint entrada) public  {
        numero = entrada;
    }
}

Diganle al profesor que no se dice ‘En base a’, por favor 😪

costo de asignar un valor primera vez > costo de cambiar el valor

Esta es la explicacion antes del London upgrade en la red.
Antes de que tuviera lugar la Actualización de London la cantidad de ETH que había que pagar por una transacción se calculaba mediante una sencilla fórmula:

**tasas de gas** = gas gastado * precio del gas.

Gas gastado es la cantidad total de gas (en unidades de gas) que se utilizó para ejecutar la transacción.

Precio del gas es la cantidad de ETH que se está dispuesto a pagar por unidad de gas de ejecución.

Los precios del gas están denominados en Gwei - una denominación de ETH.

1 Gwei = 0,000000001 ETH

1 ETH = 10^9 Gwei

Así que en lugar de decir que su precio de gas es 0,000000001 ETH, puede decir que su precio de gas es 1 Gwei.

Después de la actualización de London
El 5 de agosto de 2021, se implementó la actualización de London en la red de Ethereum. Esta actualización introdujo principalmente tres beneficios:

Mejores estimaciones de las tasas de gas
Inclusión más rápida de las transacciones
Quema de un porcentaje de ETH que se utiliza como tasas de transacción

Con esta actualización, la fórmula para calcular las tasas de gas cambió a lo siguiente

**tasas de gas** = gas gastado * (tasa base + tasa de prioridad)

Tasa base: Este es el precio mínimo por unidad de gas para realizar su transacción.

Además de las tasas base, se introdujo el concepto de **propina **(tasas de prioridad). Como las tasas base se queman, la propina esta ahí para compensar a los mineros por ejecutar y propiciar las transacciones de los usuarios. La mayoría de los monederos (wallets) la establecen automáticamente, aunque se puede optar por establecerla manualmente. Las transacciones con propinas más altas tienden a tener mayor prioridad.

// SPDX-License-Identifier: GPL-3.0

pragma solidity >=0.7.0 <0.9.0;

contract Gas {

uint public numero;
//var de tipo publica para accederl sin funcion  a su valor

function asignarNumero(uint entrada) public {
// para poder cambiarle el valor de esa variable
    numero = entrada;

}

// 1 se genera el deply del contrato para generar una instancia
// 2 cambiar el valor para ver como va afectando el gas en la medida que vamos utilizando estas operaciones en la red (computo)
}

Transcripcion (NOTA)

La cantidad de Gas que se necesita para una operacion varia segun la complejidad de la operacion, ejemplo; el deploy de un contrato cuesta mas Gas que llamar a una funcion interna al contrato que cambia un solo valor o un solo estado del contrato, en este caso deployar el contrato costo 119.683 gas, llamar a la funcion que le asigna un valor a la unica variable de estado del contrato costo 43.724 gas, o sea que se utilizo menos de la mitad del poder de computo para llamar a esa funcion en relacion al deploy del contrato, luego se volvio a llamar a la misma funcion y costo 23.842 gas, lo cual es la mitad de la primera llamada a la misma funcion, esto es debido a que el gas no siempre se calcula de la misma forma, lo que ahi se diferencia es el almacenamiento y el costo de almacenamiento que se esta usando, no es lo mismo para el contrato cuando tenemos cero como valor por defecto y modificamos el valor del almacenamiento al valor que le estamos pasando a diferencia de cuando ya se tiene un valor asignado y le asignamos un nuevo valor que reemplace al anterior (el costo seria menor en ese caso). En resumen, el Gas va a variar segun el tipo de almacenamiento y el valor que estamos almacenando en cada operacion.