Contenido del curso
Entendiendo la EVM
Herramientas de Solidity
Retiros y control de permisos
Interactuando con la Blockchain de Celo
Interactuando con Smart Contracts
- 16

Conectando React con Celo usando ContractKit
09:34 min - 17

Conectar Valora a contratos inteligentes con Wallet Connect
05:16 min - 18

Despliegue de Contratos Inteligentes en Testnet Alfajores con Remix
03:07 min - 19

Liberación arbitral con Celo ContractKit
04:30 min - 20

Firma de transacciones con WalletConnect y Valora
03:06 min
Sigue practicando
Qué es la EVM y cómo funciona Solidity
Resumen
El desarrollo de contratos inteligentes en tecnologías compatibles con la EVM, como Celo, abre la puerta a crear aplicaciones descentralizadas que funcionan sin importar el hardware que las ejecute. Si vienes del mundo del desarrollo tradicional y quieres entrar a blockchain, este es tu punto de partida.
Qué es la EVM y por qué importa en blockchain
La EVM (Ethereum Virtual Machine) es una capa lógica que se inserta entre el hardware que ejecuta una aplicación y el código que se va a ejecutar. Esa capa intermedia te da algo muy valioso: abstracción.
En la práctica, esto significa que el mismo código que escribes una vez puede correr en Linux, Windows, Ubuntu o cualquier sistema donde la EVM esté implementada. No tienes que reescribir nada.
¿Qué hace exactamente la EVM? Funciona como una máquina virtual que ejecuta el bytecode de los contratos inteligentes, garantizando que el mismo programa se comporte igual en cualquier nodo de la red.
Si alguna vez trabajaste con Java, vas a notar el aire de familia. La EVM está inspirada en la idea de la Java Virtual Machine: escribir una vez, ejecutar en cualquier lado.
Cómo se desarrollan contratos inteligentes con Solidity
El flujo de trabajo para crear contratos inteligentes compatibles con la EVM tiene un protagonista claro: Solidity. Es un lenguaje de programación diseñado específicamente para este propósito.
Solidity tiene cierto parecido con JavaScript y con otros lenguajes populares, así que la curva de aprendizaje no es tan brusca como podrías pensar. Su rol es darte una capa de abstracción cómoda para que no tengas que pelearte con instrucciones de bajo nivel.
Del código fuente al bytecode ejecutable
El proceso para llevar tu contrato desde el editor hasta la blockchain sigue estos pasos:
- Escribes el contrato en Solidity, usando una sintaxis cercana a lenguajes populares.
- Pasas ese código por un compilador especializado para Solidity.
- El compilador entrega un paquete de bytecode, que son instrucciones en un lenguaje complejo pero directamente ejecutable.
- La EVM toma ese bytecode y lo corre en cualquier plataforma compatible.
Lo interesante de este flujo es que tú nunca tienes que entender el bytecode a fondo. Solidity y el compilador hacen el trabajo pesado por ti.
¿Qué es el bytecode de un contrato inteligente? Es el resultado de compilar Solidity: un conjunto de instrucciones de bajo nivel que la EVM puede ejecutar directamente, sin importar el sistema operativo subyacente.
Por qué Celo es compatible con la EVM
Celo pertenece al grupo de blockchains compatibles con la EVM. Eso quiere decir que cualquier contrato que compiles para Ethereum, en principio, lo puedes desplegar también en Celo. Tu conocimiento de Solidity te sirve en ambos ecosistemas.
Esta compatibilidad es la razón por la que aprender desarrollo sobre la EVM te abre tantas puertas: no aprendes una sola red, aprendes una familia entera.
Qué viene después en el desarrollo blockchain
Con la EVM y Solidity ya ubicados en el mapa, el siguiente paso natural es entender las transacciones. Son la piedra angular sobre la que se construye la forma de trabajar de cualquier blockchain: cada interacción con un contrato, cada transferencia y cada cambio de estado pasa por ahí.
¿Ya tienes claro por qué la abstracción de la EVM es tan poderosa para tu flujo de desarrollo? Cuéntame en los comentarios qué lenguaje usas hoy y cómo te imaginas tu salto a Solidity.