Ahora que saben leer bytecode, acá un muy buen recurso para resolver retos sobre la EVM 👨🏻💻
Introducción
Conociendo la máquina virtual de Ethereum
Presentación del Proyecto: Tu propia Virtual Machine
Teoría de Máquinas Computacionales
Máquinas computacionales
Autómata Finito Determinista
Máquina de Turing
Arquitectura x86 y Assembly
Máquinas virtuales
Compiladores y organización de CPU
Ethereum Virtual Machine
Arquitectura de la EVM
Conoce el Beigepaper
Ethereum Virtual Machine Instruction Set
EVM Opcodes
Construyendo un bytecode básico
Continuando con la construcción del bytecode básico
Root State
¿Qué es el gas?
¿Cómo construir un compilador a la EVM?
Solidity Decompiling
Creation Bytecode vs Runtime Bytecode
Function Selector, Function Wrapper y Function Body
Metadata Hash
Platzi Virtual Machine
Definición de nuestra Máquina Virtual
Setup del proyecto
Definición del entorno de ejecución
Definición de la lista de OPCODES
Implementación de operadores básicos y aritméticos
Implementación del modelo de memoria
Implementando saltos
Consumo de gas estático
Consumo de gas dinámico
Implementando gas dinámico
Conclusión
Demostración de la PVM y siguientes pasos
Cierre del curso y repaso de lo aprendido
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Convierte tus certificados en títulos universitarios en USA
Antes: $249
Paga en 4 cuotas sin intereses
Termina en:
Ernesto García
Código del ejercicio:
// Load CALLDATA to memory
CALLDATASIZE
PUSH1 0x00
CALLDATASIZE
PUSH1 0x20
SUB
CALLDATACOPY
// Define JUMPDEST and push to stack
JUMPDEST
PUSH1 0x03
PC
SUB
// Load memory to stack
PUSH1 0x00
MLOAD
// Substract 1 and save to memory
PUSH1 0x01
SWAP1
SUB
DUP1
PUSH1 0x00
MSTORE
// Save to memory and JUMP back if value is not 0
PUSH1 0x0
LT
SWAP1
JUMPI
Aportes 5
Preguntas 1
Ahora que saben leer bytecode, acá un muy buen recurso para resolver retos sobre la EVM 👨🏻💻
https://www.youtube.com/watch?v=yxgU80jdwL0
Les dejo este video de la Ethereum Foundation sobre EVM
Estas dos anteriores clases muy complejas, pero interesantes, tuve que mirarlas minuto a minuto para no perderme en el camino🥴
No entendía muy bien los conceptos… hasta que observe en Etherscan un smart contracts que realice en una red de prueba y mire el bytecode 😃
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?