Cómo aprender Solidity desde cero

Escrito por
Yolanda López Guillén
Yolanda López Guillén
Publicado el
26/4/2023 0:00
Inicio
»
Desarrollo Blockchain
»
Cómo aprender Solidity desde cero

Antes de entrar en cuáles son estas formas de aprender, es importante saber de dónde viene Solidity, por qué razón se creó y de qué manera se creó. Porque en base a esto, vamos a dividir el método de aprendizaje en dos tipos de personas.

Solidity nació de la necesidad de tener un lenguaje de programación que permitiera desarrollar smart contracts o contratos inteligentes, para algo más que para realizar transacciones monetarias.

Por si no lo sabíais, Bitcoin, también tiene su propio lenguaje de programación que permite desarrollar smart contracts. Pero este lenguaje, que se llama Bitcoin Script, es bastante limitado.

Así que podría decirse que Solidity es el primer lenguaje que ha permitido que, además de estas transacciones, se puedan desarrollar programas y aplicaciones descentralizadas utilizando la tecnología blockchain.

Esto suena genial, pero lo que realmente hizo que este lenguaje se extendiera y funcionara de verdad fue que sus creadores lo hicieron pensando en que fuera fácil de entender y de asimilar por personas con conocimientos de programación.

¿Y cómo hicieron esto?

Pues se basaron en lenguajes ya existentes y muy populares entre los desarrolladores, como Python, y JavaScript.

De esta manera, se convirtió en un lenguaje muy atractivo para los programadores, porque no requiere mucho esfuerzo aprenderlo si ya tienes asentados los conocimientos básicos sobre programación.

Esto es precisamente lo que va a marcar la diferencia en la hoja de ruta a seguir a la hora de aprender este lenguaje, porque vamos a tener dos tipos de perfiles muy diferenciados.

Por un lado, las personas con conocimientos sobre programación o que directamente son ya desarrolladores de software.

Y por otro lado, las personas que son completamente principiantes en el mundo del desarrollo y que aunque les interese muchísimo la tecnología blockchain, no tienen ningún conocimiento sobre programación.

Personas que ya saben programar

Vamos a empezar con el primer caso, que son personas que ya están adentradas en el mundo de la programación.

Este perfil juega con ventaja porque, como hemos comentado hace un momento, ya tienen conocimientos y como Solidity es tan similar a otros lenguajes, lo aprenderán bastante rápido.

Seguro que si este es vuestro caso os estaréis preguntando. Vale, sí, pero ¿dónde busco? ¿dónde puedo acceder a toda la información? Pues bien, Solidity también tiene la ventaja de tener una documentación super detallada y super completa.

➜ Aquí os dejamos el link: https://solidity-es.readthedocs.io/es/latest/

Para personas que ya sepan programar, va a ser muy sencillo leer esta documentación y empezar a aprender.

En ella podemos encontrar, desde una descripción general de lo que es el lenguaje hasta los más mínimos detalles de los tipos de variables, de funciones, de modificadores de acceso, etc.

Además, en esta documentación tenemos un apartado llamado Solidity by examples o Solidity mediante ejemplos, en el que se enseña cada apartado con un ejemplo explicado bastante detallado. Esto, de verdad, es algo genial para aprender.

Otra de las cosas que es importante aprender cuando se trata de Solidity, sin duda, es el entorno de desarrollo. Si ya sois programadores podéis optar por utilizar editores de código corrientes como VSCode con los plugins correspondientes instalados, pero yo antes de hacer esto, os recomiendo empezar a utilizar el entorno de desarrollo integrado oficial de la Blockchain de Ethereum.

Conoce Remix IDE

Este entorno se llama Remix IDE, y tiene la enorme ventaja de tener una versión web en la que no es necesario hacer ninguna instalación ni ninguna configuración. Simplemente con introducir el nombre en el navegador, podemos acceder a la web y empezar a programar nuestros primeros contratos.

Enlace: https://remix-project.org/

Remix cuenta con un explorador de archivos, en el que vamos a poder crear nuestros propios espacios de trabajo para organizar nuestros proyectos a nuestro gusto.

Además, algo que también es de mucha utilidad cuando estás dando tus primeros pasos con Solidity, es que remix, por defecto, te presenta una colección predeterminada de carpetas:

Una carpeta llamada contracts, en la que vienen tres smart contracts muy sencillos que son ideales para empezar. Mi recomendación es que si estáis empezando con este lenguaje y este entorno, analicéis el código de estos contratos, intentéis entenderlos y ya después los compiléis y despleguéis para ir familiarizados con todo.

En Remix también tenemos para elegir de todas las versiones de compilador de Solidity que se han ido actualizando hasta la fecha. Para compilar nuestro contrato, simplemente tendríamos que seleccionar la que estemos utilizando y listo.

Si te interesa el mundo del desarrollo blockchain seguramente ya sabéis que tanto para desplegar un contrato como para ejecutar las funciones, es necesario pagar unas pequeñas tasas en forma de gas. Esto es superimportante en Solidity y lo que se busca continuamente es pagar la mínima cantidad de tasas posibles.

Para arreglar este problema, lo que hace Remix es dejarnos una batería de varias cuentas, con un saldo ficticio de ETH.

¿Para qué queremos esto?

Pues para ver qué cantidad de gas estamos consumiendo con el despliegue y la ejecución de las funciones y ver de qué forma podemos optimizar recursos para gastar la menor cantidad de gas posible.

Personas sin conocimientos sobre programación

Bien, pues ahora vamos con el segundo tipo de persona que podría estar interesada en aprender Solidity.

Como ya hemos comentado antes, Solidity es un lenguaje pensado para ser fácil de aprender por personas que ya tengan conocimientos sobre programación.

Esto puede dificultar un poco las cosas para este perfil porque, no solo tienen que aprender a programar sino que además tiene que asimilar también todas las particularidades que tiene Solidity al funcionar sobre una blockchain.

Si a esto le sumamos la cantidad infinita de tiempo que se pierde buscando fuentes de contenido fiables y sobre todo, fuentes adaptadas al conocimiento de una persona que está empezando, al final lo único que puede salir de ahí es la desmotivación más absoluta. Porque recabar información y aprenderla lleva muchísimo trabajo, y hacer todo esto esfuerzo sin ver resultados no alienta a nadie a seguir.

Con esto no quiero decir que no se pueda aprender Solidity de forma autodidacta. ¿Se puede? Seguramente sí. Pero no sé hasta qué punto es rentable aprenderlo de esta manera con todo el tiempo que literalmente se tira a la basura.

Seguro que ahora mismo estáis pensando que estoy pintando un camino muy negro para este perfil, pero nada más lejos de la realidad, porque os voy a contar una alternativa a tirarse horas y horas buscando tutoriales y documentación.

Master en desarrollo blockchain de Conquer Blocks

En Conquer Blocks hemos lanzado un máster pensado especialmente para este perfil.  Nuestro objetivo es formar desde el más absoluto cero a personas que, después de finalizar la formación, serán Desarrolladores en tecnología Blockchain.

¿Cómo lo estamos haciendo? Pues el máster no comienza con Blockchain y Solidity como tal, sino que hay varios módulos previos con los que lo que hacemos es formaros desde cero.

El máster consta de cuatro módulos técnicos:

1. Comenzamos con un módulo introductorio en el que os contamos las bases de la informática. Primero empezamos enseñando básicamente cómo funciona un ordenador, y después os ayudamos a instalar todo lo que vais a necesitar durante el curso.

2. En el siguiente módulo de la formación, lo que hacemos es enseñaros a programar en Python, que además es uno de los lenguajes más utilizados hoy en día por los desarrolladores en las empresas. Esto le añade un valor brutal al máster porque os convertís en desarrolladores todoterreno. No salís de la formación solo aprendiéndolo todo sobre la blockchain, sino que también sabréis programar en Python. En esta parte de la formación se parte desde cero, os enseñamos a pensar como una máquina utilizando algo llamado pseudocódigo para que poco a poco podáis entender la lógica y la sintaxis que tienen los lenguajes de programación. Una vez asimilado esto, ya sí es el momento de empezar con Python.

3. En el tercer módulo ya pertenece a la parte de blockchain y que hacemos es ver muy detalladamente la Ethereum Virtual Machine, porque es la herramienta más importante del desarrollo blockchain. Además para esto contamos con uno de los mejores profesionales del sector, Javier Marcos de Prado, más conocido como Javuto. Él mejor que nadie os va a explicar cómo funciona la máquina virtual de Ethereum, y os va a ser de gran ayuda para el siguiente módulo.

4. En la cuarta parte de esta formación, enseñamos el lenguaje Solidity también desde cero. Empezamos desde lo más básico aunque ya lleguéis con conocimientos sólidos de programación y poco a poco vamos cubriendo todas las áreas del desarrollo con Solidity hasta la construcción de aplicaciones descentralizadas.

En cuanto a la formación técnica como tal, estos son los cuatro módulos que componen el máster, pero todavía hay más.

Hay algo super importante y que limita mucho a las personas a la hora de encontrar trabajo en este sector y es defenderse con el inglés. Por suerte o por desgracia, casi toda la documentación que existe está en inglés y además, los trabajos mejor remunerados se encuentran fuera de España, por lo que saber inglés es FUNDAMENTAL.

Bueno, pues como bonus en esta formación, también tenemos un módulo adicional en el que impartimos inglés para ayudaros más aún si cabe, a ser los profesionales mejor formados.

Igual pensáis al leer esto que damos muchas vueltas antes de llegar a la Blockchain y a Solidity, pero de verdad que nada más lejos de la realidad. El contenido de este máster lo han elaborado profesionales que abarcan muchas áreas, y han llegado a la conclusión de que esta es la mejor manera de formar a un desarrollador.

A pesar de que parezca lejano empezar con la blockchain, os aseguro que hacerlo de esta manera ahorra una cantidad de tiempo increíble. Además de que vais a estar continuamente acompañados por los profesores, que van a estar resolviendo todas vuestras dudas.

Algo que también hay que decir, es que aunque esta formación esté especialmente enfocada en formar personas que no tengan conocimientos previos sobre desarrollo de software, si en tu caso particular ya eres desarrollador o sabes programar, esta formación también puede ser para ti. Puedes empezar directamente con la Ethereum Virtual Machine y con Solidity.

De hecho, en la formación, tenemos dos grupos diferenciados para poder centrarnos más en cada perfil y que así todos por igual aprendáis mucho más rápido.

De todas formas, como todo esto es mucha información, si os interesa o si os quedan dudas, lo mejor es que consultéis vosotros mismos el link que os dejamos a continuación y si queréis, podéis agendar una llamada con el equipo. Estarán encantados de recibiros y resolver vuestras preguntas:

➡️ Pulsa aquí para acceder al master de conquer blocks

Vídeo del artículo:

Masterclass Gratuita: Comienza tu carrera como Desarrollador Blockchain
Aprende la profesión con salarios de media de más de 100,000€ al año con nuestra metodología en 5 pasos.
Ir a la Masterclass
Masterclass Gratuita: Comienza tu carrera como Desarrollador Blockchain
Aprende la profesión con salarios de media de más de 100,000€ al año con nuestra metodología en 5 pasos.
Ir a la Masterclass

Artículos relacionados

Rust vs Solidity  ¿Cuál es mejor para el desarrollo Blockchain?
Desarrollo Blockchain

Rust vs Solidity ¿Cuál es mejor para el desarrollo Blockchain?

Ya sabéis que aquí siempre hablamos sobre desarrollo Blockchain, y cuando se trata de esto, suele haber un gran dilema, una gran pregunta sobre qué lenguaje es mejor utilizar para esto. Y los dos lenguajes sobre los que se suele dudar, no son otros que Solidity y Rust. Rust es un lenguaje de programación de sistemas que ha ganado popularidad en los últimos años debido a su enfoque en el rendimiento y la confiabilidad, mientras que Solidity es un lenguaje de programación de alto nivel diseñado específicamente para la Blockchain Ethereum.Precisamente por esto, de hoy vamos a hacer un recorrido por las características buenas y malas de cada uno de estos dos lenguajes para que puedas elegir por ti mismo cual prefieres, y al final te contamos cuál es el que preferimos en Conquer Blocks.
Yolanda López Guillén
6/7/2023
¿Cuáles son los Estándares ERC en Desarrollo Blockchain?
Desarrollo Blockchain

¿Cuáles son los Estándares ERC en Desarrollo Blockchain?

Si habéis leído algunos de nuestros artículos, ya sabréis que muchas veces os hemos hablado de que existen bibliotecas y estándares que cumplen con todos los requisitos de seguridad, y que facilitan mucho el trabajo a los desarrolladores Blockchain. Y como son tan importantes, hemos querido recoger en este artículo los estándares ERC que todo desarrollador Blockchain debe conocer a la perfección.
Yolanda López Guillén
6/7/2023
¿Qué son las DAO? - Organizaciones Autónomas Descentralizadas
Desarrollo Blockchain

¿Qué son las DAO? - Organizaciones Autónomas Descentralizadas

Hoy vamos a explicarlos qué son y cómo funcionan las Organizaciones Autónomas Descentralizadas, más conocidas como DAOs.Una DAO es una organización, como su propio nombre indica, de propiedad colectiva y que funciona sobre tecnología blockchain.
Yolanda López Guillén
6/7/2023
Mejor alternativa a ser Desarrollador de Software (y mejor pagada)
Desarrollo Blockchain

Mejor alternativa a ser Desarrollador de Software (y mejor pagada)

Si lo que estás buscando es una oportunidad nueva, disruptiva, un sector que aún está por explorar… Lamento de decirte que probablemente del desarrollo de software tradicional, no sea lo que estás buscando. ¡Ojo! Que no quiero desanimarte, ni mucho menos. También hay oportunidades en el mundo del desarrollo tradicional, pero si estás buscando una gran oportunidad y te gusta programar, el desarrollo blockchain te puede interesar.
Yolanda López Guillén
6/7/2023
¿Qué es y cómo funciona GameFi?
Desarrollo Blockchain

¿Qué es y cómo funciona GameFi?

En este artículo vamos a explicaros algo que surgió hace muy poco tiempo, pero que está provocando que surja una industria con mucho mucho futuro. ¿Sabías que existe una fusión entre las finanzas descentralizadas y los videojuegos? Esta fusión se llama GameFi y como os acabo de decir, es un área plagada de oportunidades.
Yolanda López Guillén
6/7/2023
¿Qué son las Capas en Blockchain?
Desarrollo Blockchain

¿Qué son las Capas en Blockchain?

Cuando estamos ante la posibilidad de una adopción masiva de la Blockchain, es imposible teóricamente mantener un nivel aceptable de estos tres pilares. Se pueden mantener dos pilares, pero no los tres. Es decir, por ejemplo, si nos centramos en la seguridad y la descentralización, perdemos poder de escalabilidad. Si nos centramos en la escalabilidad y la seguridad, perdemos nivel de descentralización.
Yolanda López Guillén
6/7/2023

Nuestras últimas publicaciones

Aprende sobre Criptomonedas, Blockchain, NFTs, Metaversos, Inteligencia Artificial y Emprendimiento.
¿Cómo minar criptomonedas con un pc?
Criptomonedas y Blockchain

¿Cómo minar criptomonedas con un pc?

Si alguna vez has pensado en minar criptomonedas desde tu pc, este artículo es de obligada lectura.
Carlos Ruiz
26/4/2023
¿Qué es ATH en criptomonedas?
Criptomonedas y Blockchain

¿Qué es ATH en criptomonedas?

¿Alguna vez viste estas letras en conversaciones del mundo cripto y no estás seguro de su significado? Este artículo te interesa.
Eliana Di Nucci
9/7/2023
¿Qué es un hash en criptomonedas? - Blockchain
Criptomonedas y Blockchain

¿Qué es un hash en criptomonedas? - Blockchain

En este artículo te contamos cuál es la importancia de los hashes en la tecnología blockchain.
Eliana Di Nucci
9/7/2023
¿Qué es una rollup y cómo funcionan?
Criptomonedas y Blockchain

¿Qué es una rollup y cómo funcionan?

¿Alguna vez escuchaste hablar de esta tecnología empleada por distintas L2 pero aún no sabes bien de qué tratan? Este artículo te interesa.
Eliana Di Nucci
9/7/2023
Rust vs Solidity  ¿Cuál es mejor para el desarrollo Blockchain?
Desarrollo Blockchain

Rust vs Solidity ¿Cuál es mejor para el desarrollo Blockchain?

Ya sabéis que aquí siempre hablamos sobre desarrollo Blockchain, y cuando se trata de esto, suele haber un gran dilema, una gran pregunta sobre qué lenguaje es mejor utilizar para esto. Y los dos lenguajes sobre los que se suele dudar, no son otros que Solidity y Rust. Rust es un lenguaje de programación de sistemas que ha ganado popularidad en los últimos años debido a su enfoque en el rendimiento y la confiabilidad, mientras que Solidity es un lenguaje de programación de alto nivel diseñado específicamente para la Blockchain Ethereum.Precisamente por esto, de hoy vamos a hacer un recorrido por las características buenas y malas de cada uno de estos dos lenguajes para que puedas elegir por ti mismo cual prefieres, y al final te contamos cuál es el que preferimos en Conquer Blocks.
Yolanda López Guillén
6/7/2023
¿Dónde estudiar programación? - Cómo escoger un buen centro.
Desarrollo

¿Dónde estudiar programación? - Cómo escoger un buen centro.

En este post os voy a ayudar a poder identificar a todas las empresas, gurús y recién titulados, que te venden programas de formación ultra rápidos y mega profesionales para convertirte en el desarrollador que todas las empresas buscan.
Bienvenido Sáez
9/7/2023
10 minutos
Update cookies preferences