No tienes acceso a esta clase

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

Consumo de gas dinámico

29/32
Recursos

Aportes 1

Preguntas 0

Ordenar por:

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

Quise tomar este curso apenas salio pero me di cuenta que necesitaba aprender más antes de continuar, y uffff alfin casi por terminar, tengo un par de aportes:

  1. Sobre el cálculo de memoryCost en la línea 32 de la clase Memory: En mi entendimiento el argumento de memoryCost deberia ser (offset+BigInt(1)), osea se le deberia sumar 1 (un) espacio único de memoria, todos los espacios equivalen a 32 bytes. En la funcion memoryCost a esta suma (offset+BigInt(1)) se le multiplica por 32.

  2. Para el cálculo del gas en SLOAD: Debemos identificar si un valor se ha accedido previamente en la misma transacción (acceso caliente♨️) o si es la primera vez (acceso frío❄️) esto permite ajustar el gas consumido de manera dinámica: 2100 gas para el primer acceso y 100 de gas para accesos subsiguientes. Implementé una estructura de datos tipo Map<BigInt, BigInt> dentro del contexto de ejecución para este propósito. Si el valor se encuentra en el map, se consume 100 de gas; de lo contrario, se registra el acceso y se consume 2100 de gas.