Smart contracts
Son programas desplegados en la blockchain que ejecutan determinadas reglas cuando reciben transacciones o llamadas.
Aprende los conceptos fundamentales para desarrollar aplicaciones sobre Ethereum: smart contracts, Solidity, EVM, gas, transacciones y aplicaciones descentralizadas.
Desarrollar en Ethereum consiste en crear programas, contratos y aplicaciones capaces de interactuar con una blockchain y utilizar las reglas de ejecución proporcionadas por la red.
Son programas desplegados en la blockchain que ejecutan determinadas reglas cuando reciben transacciones o llamadas.
La EVM proporciona el entorno de ejecución utilizado para procesar el código de los contratos.
Las aplicaciones pueden combinar una interfaz convencional con contratos y datos almacenados o procesados en blockchain.
Solidity es uno de los lenguajes más utilizados para escribir smart contracts destinados a ejecutarse en la EVM.
Solidity permite definir variables, funciones, estructuras de datos y reglas que posteriormente serán compiladas para la EVM.
El desarrollador escribe el comportamiento que quiere que tenga el contrato siguiendo las reglas del lenguaje.
El código fuente debe transformarse en código que pueda ser ejecutado por la EVM.
Un smart contract contiene código y datos almacenados en una dirección de Ethereum. Las transacciones pueden provocar que sus funciones sean ejecutadas.
El contrato define las reglas y operaciones que pueden ejecutarse.
Los contratos pueden mantener datos que forman parte del estado de la aplicación.
Las funciones permiten consultar o modificar datos según las reglas definidas por el contrato.
La Ethereum Virtual Machine proporciona el entorno en el que se ejecuta el código de los smart contracts. Todos los nodos siguen las reglas de ejecución de la red.
La EVM define cómo se ejecutan las instrucciones y cómo se modifica el estado de Ethereum.
Los nodos de la red verifican y procesan las operaciones siguiendo las reglas del protocolo.
La ejecución de transacciones puede producir cambios en el estado global de Ethereum.
Las operaciones ejecutadas por la EVM consumen gas. Por eso el diseño de un contrato también debe tener en cuenta el coste computacional de sus operaciones.
Las instrucciones ejecutadas durante una operación consumen recursos medidos mediante gas.
Un contrato bien diseñado puede evitar operaciones innecesarias y reducir determinados costes.
Las operaciones que requieren gas pueden implicar un coste que se paga utilizando ETH.
Una aplicación descentralizada puede permitir al usuario conectar una wallet y enviar transacciones o realizar llamadas a contratos.
La interfaz permite al usuario consultar información y preparar las operaciones que quiere realizar.
La wallet puede utilizarse para firmar las operaciones que requieren autorización del usuario.
La operación se envía a la red y, cuando se procesa, puede modificar el estado de Ethereum.
Los estándares permiten que diferentes contratos y aplicaciones utilicen interfaces y comportamientos conocidos.
Estándar ampliamente utilizado para crear tokens fungibles en Ethereum.
Estándar utilizado para tokens no fungibles, conocidos como NFT.
Estándar que permite gestionar diferentes tipos de activos mediante un mismo contrato.
Una aplicación descentralizada, o dApp, puede combinar una interfaz de usuario con smart contracts y datos procedentes de una blockchain.
Los contratos pueden utilizarse para construir intercambios, préstamos y otros sistemas financieros.
Los contratos permiten crear y gestionar tokens, NFT y diferentes tipos de activos digitales.
Algunos sistemas utilizan contratos para gestionar votaciones, tesorerías y reglas de gobernanza.
La parte visual de una aplicación puede estar construida con tecnologías web convencionales. La diferencia está en cómo se conecta con los contratos y los datos de la red.
HTML, CSS y JavaScript pueden utilizarse para crear la interfaz que utiliza el usuario.
Las aplicaciones pueden comunicarse con nodos o proveedores de infraestructura para consultar y enviar información a Ethereum.
Una wallet puede proporcionar la capacidad de firmar transacciones y autorizar determinadas operaciones.
No todas las operaciones requieren modificar la blockchain. Las aplicaciones también pueden consultar datos públicos para mostrar información al usuario.
Las aplicaciones pueden consultar información de contratos, balances y otros datos disponibles en Ethereum.
Los eventos emitidos por contratos permiten a las aplicaciones detectar y procesar determinadas actividades.
Comprender los datos públicos de Ethereum ayuda a construir aplicaciones capaces de representar la actividad de la red.
El desarrollo debe incluir pruebas para detectar errores antes de desplegar código en una red donde las operaciones pueden tener consecuencias reales.
Los tests permiten comprobar que las funciones del contrato se comportan como se espera.
Las pruebas ayudan a detectar errores de lógica, condiciones inesperadas y comportamientos no deseados.
El código debe revisarse y probarse antes de utilizarlo con activos o usuarios reales.
Un contrato puede gestionar activos o ejecutar operaciones importantes. Por eso los errores de programación pueden tener consecuencias significativas.
Revisar el código ayuda a detectar problemas antes de que el contrato sea utilizado.
En proyectos importantes pueden realizarse auditorías y revisiones independientes del código.
Es importante identificar qué puede salir mal, qué activos están en riesgo y cómo limitar las consecuencias de un fallo.
Desarrollar sobre Ethereum implica combinar programación convencional con contratos, transacciones, wallets y las reglas de ejecución de la blockchain.
Contienen la lógica que puede ejecutarse dentro de Ethereum.
Proporciona el entorno de ejecución para el código de los contratos.
Las dApps pueden combinar interfaces web, wallets, contratos y datos de blockchain.
Ya has recorrido los principales conceptos de Ethereum: desde su funcionamiento y la EVM hasta gas, wallets, Proof of Stake, tokens, DeFi, NFT, datos on-chain, seguridad y desarrollo.
Para profundizar en desarrollo Ethereum, consulta documentación técnica y fuentes primarias.
Documentación oficial y recursos educativos sobre Ethereum.
ethereum.org →Documentación técnica sobre desarrollo, contratos, EVM y herramientas.
Developers →Documentación del lenguaje utilizado para desarrollar smart contracts compatibles con la EVM.
Solidity Docs →Puedes volver al inicio para consultar la guía completa, el glosario, las herramientas y el resto de recursos educativos del sitio.