Última actualización de la página: July 22, 2020
Recursos para desarrolladores
Introducción
Si el desarrollo con Ethereum es nuevo para ti, estás en el lugar indicado. Estas guías escritas por la comunidad de Ethereum te presentarán lo básico del stack de Ethereum y los conceptos centrales que pueden ser distintos de cualquier otro desarrollo de apps que conozcas.
¿Necesitas una introducción más básica para empezar? Échale un vistazo a ethereum.org/es/learn.
- Getting up to speed on Ethereum Aug 7, 2017 - Matt Condon
- Ethereum In Depth, Part 1 May 11, 2018 - Facu Spagnuolo
- Ethereum In Depth, Part 2 July 24, 2018 - Facu Spagnuolo
- Ethereum Development Walkthrough, Parts 1-5 Jan 14, 2018 - dev_zl
- Ethereum 101, Parts 1-7 Feb 13, 2019 - Wil Barnes
- Full Stack Hello World Voting Ethereum Dapp Tutorial Jan 18, 2017 - Mahesh Murthy
- Mastering Ethereum - A comprehensive textbook available for free online Dec 1, 2018 - Andreas Antonopoulos & Gavin Wood
- Ethereum Developer Portal - Everything you need to get started building on Ethereum Updated often - ConsenSys
- Deconstructing a Solidity Contract Aug 13, 2018 - Alejandro Santander & Leo Arias
- Full Stack Dapp Tutorial Series Actualizado con frecuencia - Joshua Cassidy
Lenguajes para contratos inteligentes
Cualquier programa que se ejecuta en la Máquina Virtual de Ethereum (EVM) se conoce comúnmente como "contrato inteligente" o "smart contract". Los lenguajes más populares para escribir contratos inteligentes en Ethereum son Solidity y Vyper, aunque existen otros en desarrollo.
Solidity El lenguaje más popular en Ethereum, inspirado en C++, Python y Javascript
Vyper Lenguaje para Ethereum centrado en la seguridad, basado en Python.
¿Buscas otras opciones?
Herramientas de desarrollo
Ethereum tiene un gran y creciente número de herramientas para ayudar a los desarrolladores a construir, probar y desplegar sus aplicaciones. Abajo se encuentran las herramientas más populares para comenzar. Si quieres información más detallada, consulta esta lista exhaustiva.
Truffle Entorno de desarrollo que incluye un framework para pruebas, pipeline de versiones y otras herramientas.
Embark Entorno de desarrollo que incluye un framework para pruebas e incluye otras herramientas integradas con Ethereum, IPFS y Whisper.
Waffle Framework para desarrollo y pruebas de contratos inteligentes avanzados (basado en Ethers.js).
Etherlime Framework basado en Ethers.js para el desarrollo de dapps (Solidity y Vyper), despliegue, depuración, pruebas y mucho más.
Buidler Ejecutor de tareas para desarrolladores de contratos inteligentes de Ethereum
ZeppelinOS Framework de desarrollo para la construcción de contratos inteligentes modificables y su administración segura en aplicaciones.
¿Buscas otras opciones?
Entornos de desarrollo integrados (IDE)
Visual Studio Code IDE multiplataforma profesional con soporte oficial para Ethereum.
Remix IDE basado en la web con análisis estático integrado y una máquina virtual de blockchain para pruebas.
Superblocks IDE basado en la web con máquina virtual de blockchain de navegador integrada, integración con MetaMask, registro de transacciones y otras características.
EthFiddle IDE basado en la web que permite escribir, compilar y presentar contratos inteligentes.
¿Buscas otras opciones?
API frontend con Javascript
Web3.js API Javascript para Ethereum
Ethers.js Implementación completa para billeteras de Ethereum y utilidades en Javascript y TypeScript
light.js Una librería JS de alto nivel optimizada para clientes ligeros.
Web3-wrapper Una alternativa a Web3.js en Typescript
¿Buscas otras opciones?
API backend
Infura La API de Ethereum como servicio
Herramientas de seguridad
Slither Framework de análisis estático de Solidity escrito en Python 3
MythX API de análisis de seguridad para contratos inteligentes de Ethereum
Manticore Una interfaz de línea de comandos que utiliza una herramienta de ejecución simbólica en contratos inteligentes y binarios.
Securify Escáner de seguridad para contratos inteligentes de Ethereum
Más sobre verificación formal
- How formal verification of smart-contacts works, 20 de julio 2018, Brian Marick
- How Formal Verification Can Ensure Flawless Smart Contracts, 29 de enero 2018, Bernard Mueller
¿Buscas otras opciones?
Herramientas de pruebas
Solidity-Coverage Herramienta alternativa de cobertura de código de Solidity.
hevm Implementación del EVM creada específicamente para pruebas unitarias y depuración de contratos inteligentes.
Whiteblock Genesis Una plataforma de desarrollo de extremo a extremo y pruebas para blockchain.
¿Buscas otras opciones?
Exploradores de bloques
Los exploradores de bloques son servicios que le permiten navegar por el blockchain de Ethereum (y sus redes de prueba). Para ellos, buscan información sobre transacciones específicas, bloques, contratos y otras actividades en la cadena.
Redes de prueba y grifos
La comunidad de Ethereum mantiene varias redes de prueba. Los desarrolladores las utilizan para probar sus aplicaciones bajo diferentes condiciones antes de publicarlas a la red principal de Ethereum.
Ropsten Blockchain de prueba de trabajo; se puede minar ether de prueba
Rinkeby Blockchain de prueba de autoridad; mantenido por el equipo de desarrollo de Geth
Goerli Blockchain de prueba de autoridad multicliente; construido y mantenido por la comunidad de Goerli
Clientes y cómo ejecutar tu propio nodo
La red de Ethereum está compuesta por muchos nodos, cada uno de los cuales ejecuta un cliente de software compatible. La mayoría de estos nodos ejecutan Geth o Parity, cada uno de los cuales puede configurarse de diferentes maneras de acuerdo con sus necesidades.
Geth Cliente de Ethereum escrito en Go
Parity Cliente de Ethereum escrito en Rust
Ethnode Ejecución de un nodo de Ethereum (Geth o Parity) en un entorno local.
Recursos sobre nodos de Ethereum
- Node Configuration Cheat Sheet, 5 de enero de 2019, Afri Schoeden
¿Buscas otras opciones?
Prácticas recomendadas, patrones y antipatrones
DappSys Bloques de creación simples, flexibles y seguros para contratos inteligentes.
OpenZeppelin Biblioteca para el desarrollo seguro de contratos inteligentes.
aragonOS Patrones para la actualización y control de permisos.
Registro de puntos débiles de los contratos inteligentes
Guía de prácticas recomendadas de seguridad para contratos inteligentes
- consensys.github.io/smart-contract-best-practices/
- GitHub
- Colección acumulativa de recomendaciones de seguridad y prácticas recomendadas
¿Buscas otras opciones?
Soporte y formación para programadores
Ethereum Stackexchange
Sala de chat de Gitter sobre Solidity
Todas las salas de chat de Gitter sobre Ethereum
Cryptozombies Aprende a programar juegos en Ethereum.
Chainshot Tutoriales web de programación de dapp
Blockgeeks Cursos online sobre la tecnología blockchain
DappUniversity Aprende a construir aplicaciones decentralizadas en el blockchain de Ethereum.
Ethernaut Juego de guerra escrito en Solidity donde cada nivel es un contrato que hay que hackear
UI/UX
- Challenge of UX in Ethereum, 25 de junio de 2018, Anna Rose
- Designing for blockchain: what’s different and what’s at stake, 22 de marzo de 2018, Sarah Baker Mills
Estándares
La comunidad de Ethereum ha adoptado muchos estándares que son útiles para los desarrolladores. Normalmente se presentan como Propuestas de mejora de Ethereum (EIP por sus siglas en inglés), que son discutidas por miembros de la comunidad a través de un proceso estándar .
- Lista de EIP
- Repositorio de github de EIP
- Tablón de discusión de EIP
- Resumen de gobernanza de Ethereum, 31 de marzo de 2019, Mann Boris
- Lista de reproducción de todas las reuniones de Ethereum Core Dev (lista de reproducción de YouTube Playlist)
Algunos EIP hacen referencia a estándares de nivel aplicación (por ejemplo, un estándar sobre el formato de un contrato inteligente), los cuales se presentan como Solicitudes de comentarios de Ethereum (ERC por sus siglas en inglés). Muchos ERC son estándares críticos utilizados ampliamente en todo el ecosistema de Ethereum.