No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Reg铆strate

Comienza en:

5D
2H
34M
56S
Curso de Introducci贸n a Solidity

Curso de Introducci贸n a Solidity

Sebasti谩n Leonardo Perez

Sebasti谩n Leonardo Perez

Gas y comisiones

13/21
Recursos

Aportes 9

Preguntas 7

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

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 鈥楨n 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.