Contenido del curso
Conociendo el entorno de desarrollo
Desarrollo en Ethereum
Primeros pasos en Ethereum
- 13

Cómo crear tu primera wallet con MetaMask
18:15 min - 14

Redes de Pruebas Blockchain: Uso y Funcionalidad en Desarrollo
13:14 min - 15

Creación de Contratos Inteligentes en Remix IDE y Solidity
19:07 min - 16

Instalación y Configuración de Hardhat para Contratos en Solidity
20:38 min - 17

Compilar y desplegar contratos con Hardhat en Goerli
03:53 min - 18

Conectar dApp a blockchain con ethers.js
11:42 min - 19

Ejecución de Aplicaciones Descentralizadas con Metamask
06:42 min - 20

Cómo entrar a Web3 desde el desarrollo web
07:50 min
Seguridad y protocolos de segunda capa
Más allá del desarrollo
Cómo funciona la Ethereum Virtual Machine
Resumen
La Ethereum Virtual Machine (EVM) es el componente que actúa como CPU de la blockchain de Ethereum: recibe instrucciones, las procesa de forma cíclica y permite que los smart contracts se ejecuten de manera determinista. Entender cómo funciona te abre la puerta a escribir contratos más seguros y a explorar el desarrollo blockchain a un nivel más profundo.
¿Qué es la Ethereum Virtual Machine y por qué se compara con una CPU?
Una CPU tradicional, como un chip de Intel, ejecuta un set de instrucciones definido por el fabricante: sumar, multiplicar, mover datos entre la RAM y los registros. La EVM hace algo equivalente, pero en un entorno virtualizado [01:00].
¿Qué es la Ethereum Virtual Machine? Es una máquina virtual basada en stack que funciona como la CPU de Ethereum. Procesa instrucciones de los smart contracts e interactúa con memoria volátil y storage permanente.
La arquitectura tiene tres piezas que conviene tener claras desde el inicio:
- El stack, donde se apilan datos temporalmente para operar.
- La memoria, que es la parte volátil durante la ejecución.
- El storage, que guarda información de forma permanente en la blockchain.
Esta separación entre memoria y storage es la que después te permite razonar sobre costos de gas y sobre qué datos persisten entre transacciones.
¿Cómo ejecuta instrucciones la EVM paso a paso?
La EVM trabaja en un ciclo muy simple: toma una instrucción, la evalúa, la opera y avanza a la siguiente. Así una y otra vez, hasta que el conjunto de instrucciones se termina [02:10].
Cuando compilas un smart contract en Solidity, el resultado son números en hexadecimal que parecen indescifrables. Eso que ves es el bytecode: la representación intermedia que la EVM realmente entiende y ejecuta [02:45].
¿Qué es el bytecode en Ethereum? Es el conjunto de instrucciones en hexadecimal que produce la compilación de un smart contract. Cada par de caracteres representa un opcode o un parámetro que la EVM ejecuta secuencialmente.
No estás obligado a escribir Solidity. Podrías escribir bytecode a mano, pero sería menos legible y mucho más propenso a errores y problemas de seguridad.
¿Cómo se lee un fragmento de bytecode?
Tomemos el inicio típico 6080. La EVM lo procesa así:
60es el opcode, una operación que en este caso significa push.80es el parámetro de esa operación, el valor que se empuja al stack.
Después viene 6040, que es otro push con parámetro 40. Luego sigue 52, que es una instrucción distinta. Y así, el código avanza par por par hasta agotarse [04:00].
¿Qué papel juega el Program Counter?
El Program Counter es el contador interno que recorre el bytecode de instrucción en instrucción. Su trabajo es señalar dónde está la ejecución en cada momento.
El flujo es este:
- El Program Counter apunta a una posición del bytecode.
- La EVM toma el opcode y, si aplica, su parámetro.
- Ejecuta la operación, que opcionalmente toca el stack, la memoria o el storage.
- El Program Counter avanza y el ciclo se repite [04:50].
Este pequeño ciclo, repetido millones de veces, es lo que hace que un contrato escrito en Solidity termine corriendo dentro de la blockchain.
¿Por qué importa entender la arquitectura de la EVM si programas en Solidity?
Solidity es solo una capa por encima. Cuando entiendes que detrás hay un stack, una memoria, un storage y un Program Counter ejecutando opcodes, empiezas a leer mejor los errores, a optimizar gas y a detectar riesgos de seguridad.
Y aquí viene lo interesante: como la EVM es una máquina abstracta que solo recibe instrucciones, Solidity no es el único lenguaje que compila a EVM. Existen otros lenguajes pensados para el mismo destino, y conocerlos amplía tu caja de herramientas como desarrollador blockchain.
Si conoces alguno, déjalo en los comentarios. Le va a servir a quien esté empezando a explorar el desarrollo blockchain desde otro ángulo.