Aprendiendo Solidity
Solidity es un lenguaje de programación totalmente orientado a smart contracts (contratos inteligentes), que compila a bytecodes de la Ethereum Virtual Machine.
Ethereum es una plataforma descentralizada basada en blockchain (literalmente una cadena de bloques).
Sobre el idioma
Estas páginas están escritas en español, pero muchas veces contienen expresiones en inglés (como smart contracts y blockchain), que son tan usados que preferí dejarlos en el idioma original, pero siempre dando una traducción libre. Muchas veces, los ejemplos de código contienen nombres en inglés; espero que en la explicación quede claro cuál es la traducción.
Temas
- Introducción
- Blockchain
- El proyecto Ethereum
- El proyecto RSK
- Contratos Inteligentes (Smart Contracts)
- Herramientas a usar
- Compilador de Solidity
- NodeJS
- Nodo GanacheCLI
- Ejecutor Exeth
- Lenguaje Solidity
- Estructura de un contrato
- Tipos de variables
- Estructuras de control
- Ejecutando Solidity
- Ejecutando en browser
- Compilando un contrato
- Creando una instancia
- Invocando a un contrato
- Escribiendo pruebas
- DApps (aplicaciones distribuidas)
- La Ethereum Virtual Machine
- Opcodes
- Almacenamiento de estado
- Memoria
- Pila
- Consumo de gas
- Librerías y Frameworks
- Truffle
- OpenZeppelin
Recursos
Hay muchos recursos en inglés, espero poder agregar otros en español.
- El proyecto Ethereum
- Learn Ethereum
- Solidity, Wikipedia
- Solidity Documentation
- How to Become a Blockchain Developer
- Getting started with Ethereum as a developer
- Getting Started as an Ethereum Web Developer
- Learn X in Y Minutes, where X = Solidity
- Getting Up to Speed on Ethereum
- The Hitchhiker’s Guide to Smart Contracts in Ethereum
- Programming Ethereum smart contract transactions in JavaScript
- Ethereum Virtual Machine Awesome List
- A curated list of awesome Solidity resources, libraries, tools and more
- A curated list of awesome Ethereum Resources
- Dapps for Beginners
- Tips and Tricks for Adding Metamask to Your UI
- A Guide to Gas
- List of awesome platforms for smart contracts
- Lightweight Explorer
- Debugging a Smart Contract
- Truffle Tricks for Ethereum Development: Dispelling 8 Myths & First Impressions
- A Guide to Ethereum
Presentaciones
- Blockchain, la Máquina de la Confianza
- Blockchain para Desarrolladores
- Smart Contracts
- Más allá de Bitcoin y Ethereum
- Introduction to RSK
- Programando Smart Contracts
Mis Proyectos usando Solidity
Programación usando TDD (Test-Driven Development)
- Solidity Compiler
- Solidity Decompiler
- Decentralized Exchange for ERC20 Tokens
- Decentralized Identity for Ethereum/RSK
- Simple Ethereum/RSK Bridge
- Simple Ethereum/RSK Collectible Token
- Simple Ethereum/RSK Pets Token