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
Qué es Solidity y cómo funciona
Resumen
Solidity es el lenguaje de programación que abre la puerta al desarrollo de contratos inteligentes en blockchain. Si vienes del desarrollo tradicional y quieres dar el salto a Web3, entender cómo opera este lenguaje y por qué se diseñó con ciertas reglas tan particulares te va a ahorrar mucho tiempo de exploración.
Por qué programar en blockchain es distinto a la programación tradicional
Antes de tocar código, hay que entender el terreno donde vas a construir. La blockchain no es un servidor común y eso cambia la forma en que escribes software.
Lo primero que aparece es la inmutabilidad, que es la propiedad de los sistemas computacionales de no cambiar su estado salvo por transiciones de estado. Todo lo que colocas dentro de la blockchain queda ahí y solo puede modificarse mediante el propio programa que la gobierna.
La segunda característica es que programas directamente con dinero. Puedes usar palabras clave como ether o sus subunidades dentro del código, lo que desbloquea posibilidades que ningún lenguaje tradicional ofrece de forma nativa.
La tercera diferencia es la transparencia. Cualquier persona con conexión a internet y un explorador de bloques puede leer tu código hasta la última línea. Esto cambia por completo las consideraciones de seguridad y diseño.
¿Qué es la inmutabilidad en blockchain? Es la propiedad que impide modificar el estado del sistema salvo a través de transiciones definidas por el propio programa. Lo que escribes ahí, queda ahí.
Qué es Solidity y por qué es orientado a objetos
Solidity es un lenguaje de programación de alto nivel orientado a objetos que se usa para desarrollar smart contracts [02:08]. Esa definición carga tres conceptos que conviene desarmar uno por uno.
Qué significa que Solidity sea de alto nivel
Que sea de alto nivel quiere decir que funciona como una capa de abstracción sobre otro sublenguaje que corre dentro de la Ethereum Virtual Machine. Tú escribes en Solidity y, por debajo, ese código se traduce a algo que la EVM puede ejecutar.
Esto importa porque Solidity no es el único lenguaje que compila a la EVM, pero sí es el más estándar y popular dentro del ecosistema.
Por qué se eligió el paradigma orientado a objetos
La orientación a objetos se eligió por una razón práctica: es el paradigma más tradicional, popular y conocido en la industria. Cualquier developer que ya domine herencia, funciones y objetos puede dar el salto a Solidity sin reaprender desde cero.
Las capacidades del lenguaje son completas para resolver cualquier problema decidible, pero no resuelve paradojas ni interactúa con objetos del exterior. Verificar si un address corresponde a un humano real, por ejemplo, queda fuera de su alcance porque no es estrictamente computable.
Cómo accede Solidity al estado de la blockchain
Solidity tiene acceso al estado, que funciona como un snapshot de lo que contiene la blockchain en un momento determinado. Tu contrato puede leer ese estado y actuar en consecuencia según las reglas que hayas escrito.
Esa lectura del estado es lo que permite que un contrato responda a saldos, propietarios, transacciones previas o cualquier dato que viva en la red.
¿Qué es un smart contract? Es un programa que se ejecuta dentro de la blockchain y que solo modifica su estado mediante transiciones definidas en su propio código. Una vez desplegado, su lógica es pública y verificable.
Cómo se ve un contrato inteligente básico en Solidity
Un contrato sencillo de Solidity arranca con la palabra clave contract. Aquí entra de lleno la orientación a objetos: cuando defines un contract es como si declararas una clase, y al desplegarlo en la red es como instanciar ese objeto.
El ejemplo más simple de la documentación oficial muestra un contrato con una variable global llamada storedData y dos funciones que la manipulan:
- Una función get que devuelve el valor almacenado.
- Una función set que permite modificar ese valor.
- Una directiva inicial que indica la versión del compilador.
Si ya programaste antes, vas a reconocer elementos familiares: curly braces para agrupar bloques, funciones, variables y declaraciones de tipo. La curva de aprendizaje desde otros lenguajes orientados a objetos es bastante amable.
solidity pragma solidity ^0.8.0;
contract SimpleStorage { uint storedData;
function set(uint x) public { storedData = x; } function get() public view returns (uint) { return storedData; }
}
Lo interesante es cómo este patrón tan reconocible se monta sobre un contexto completamente nuevo: dinero programable, código público y un estado inmutable que solo cambia bajo reglas explícitas.
¿Ya habías escrito algo en Solidity o este es tu primer contacto? Cuéntame en los comentarios qué dudas te están apareciendo y qué te gustaría ver en las próximas clases.