Así funciona una operación básica de Solidity por debajo del capó. Toma una expresión sencilla como uint c = a + b — parece simple cuando la escribes, pero el compilador la traduce en algo bastante diferente a nivel de bytecode.
Una vez compilada, obtienes opcodes que se ven aproximadamente así: PUSH1 a PUSH1 b ADD
Eso es el EVM hablando. Cada instrucción se ejecuta una tras otra. El cliente procesa cada opcode secuencialmente, empujando valores en la pila, realizando operaciones y pasando a la siguiente instrucción. Sin atajos, sin magia — solo una serie determinista de pasos que transforma tu código de alto nivel en operaciones ejecutables por la máquina.
Por eso la optimización de gas es tan importante en el desarrollo en blockchain. Cada opcode tiene un coste, y entender qué bytecode se genera a partir de tu Solidity es la diferencia entre contratos inteligentes eficientes y contratos que desperdician recursos.
Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
10 me gusta
Recompensa
10
5
Republicar
Compartir
Comentar
0/400
SelfSovereignSteve
· hace6h
Hasta ahora solo entendía que nuestro código era tan simple y directo, simplemente apilar y empujar de manera loca
Esta parte del gas es realmente la carta ganadora, la diferencia entre contratos que entienden bytecode y los que no es enorme
Eh, ¿por qué hay gente que todavía escribe cosas que consumen tanto gas...?
Es genial programar en Solidity, pero esa serie de código después de compilar da dolor de cabeza
Por eso, a veces las operaciones en ensamblador de bajo nivel pueden ahorrar mucho dinero
Ver originalesResponder0
SchrödingersNode
· hace6h
Parece una suma sencilla, pero después de compilarse se convierte en este montón de opcode... Cada vez hay que recordarse a uno mismo que no se debe dar nada por sentado.
Ver originalesResponder0
BearMarketBarber
· hace6h
La verdad, desarrollar en Solidity sin entender bytecode es pagar un impuesto a la inteligencia.
Ver originalesResponder0
RetiredMiner
· hace6h
Vaya, escribir a+b resulta ser mucho más complicado de lo que parece, no es de extrañar que la tarifa de gas sea tan dolorosa
Ver originalesResponder0
AirdropSkeptic
· hace6h
Así es, parece una línea de código sencilla pero detrás están ejecutándose todos los opcode, no es de extrañar que la tarifa de gas sea tan alta...
Así funciona una operación básica de Solidity por debajo del capó. Toma una expresión sencilla como uint c = a + b — parece simple cuando la escribes, pero el compilador la traduce en algo bastante diferente a nivel de bytecode.
Una vez compilada, obtienes opcodes que se ven aproximadamente así:
PUSH1 a
PUSH1 b
ADD
Eso es el EVM hablando. Cada instrucción se ejecuta una tras otra. El cliente procesa cada opcode secuencialmente, empujando valores en la pila, realizando operaciones y pasando a la siguiente instrucción. Sin atajos, sin magia — solo una serie determinista de pasos que transforma tu código de alto nivel en operaciones ejecutables por la máquina.
Por eso la optimización de gas es tan importante en el desarrollo en blockchain. Cada opcode tiene un coste, y entender qué bytecode se genera a partir de tu Solidity es la diferencia entre contratos inteligentes eficientes y contratos que desperdician recursos.