DEV Community

Cover image for [I - IOTA Development]: Preparar el entorno
alvarogardev
alvarogardev

Posted on

[I - IOTA Development]: Preparar el entorno

Quiero empezar una serie de tutoriales en los que vamos a aprender a como desarrollar bajo la tecnología DLT de IOTA. Mi intención es hacer también videos para ayudar a que se entienda mejor y poder explicar otros aspectos importantes de IOTA no tan enfocados al desarrollo pero si a la parte técnica.

En este primer artículo vamos a ver como instalar todas las herramientas necesarias para poder tener un entorno de desarrollo completo y actualizado.

I - Virtualizar Ubuntu 22.04.1

Vamos a virtualizar dentro de Hyper-V un ubuntu 22.04.1.

No voy a explicar como virtualizar un SO ya que considero que como mínimo debemos de tener un SO dónde levantar nuestro entorno.

II - Instalación de las herramientas básicas

Lo primero que haremos será actualizar el sistema operativo

~$ sudo apt update
~$ sudo apt upgrade
Enter fullscreen mode Exit fullscreen mode

instalamos git y vim que nos hará falta más adelante y las build essential para disponer de gcc y make

~$ sudo apt install vim git build-essential curl
Enter fullscreen mode Exit fullscreen mode

Instalación de Go Lang 1.19

Necesitamos go para luego poder compilar el binario de wasp (nodo para los Smart Contract) y una serie de herramientas que vienen en la suite.

~$ wget https://go.dev/dl/go1.19.5.linux-amd64.tar.gz 
~$ sudo tar xzvf go1.19.5.linux-amd64.tar.gz -C /usr/local/
~$ export PATH=$PATH:/usr/local/go/bin
~$ source ~/.bashrc
Enter fullscreen mode Exit fullscreen mode

si escribimos go version debemos de obtener lo siguiente
Image description

Instalación de Node Version Manager (NVM)

Mediante esta herramienta vamos a poder gestionar varias versiones de nodeJs, es tan sencillo como ejecutar el siguiente comando

~$ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash
Enter fullscreen mode Exit fullscreen mode

Una vez tengamos instalado nvm debemos actualizar el bash con el siguiente comando ~$ source ~/.bashrc a partir de ese momento ya podemos hacer uso de la herramienta, lo primero que vamos a hacer es instalar la versión 16.19.0 (Gallium) con el siguiente comando

~$ nvm install --lts=Gallium
Enter fullscreen mode Exit fullscreen mode

Instalación de Rust Lang

La mayoría de las librerías de IOTA están escritas en rust, es un leguaje que los desarrolladores de la Fundación IOTA usan mucho debido a que hace muy buen uso de la memoria y da mucha seguridad a las aplicaciones, veremos más adelante su uso. Por el momento es suficiente con tenerlo instalado con los siguientes comandos

~$ curl https://sh.rustup.rs -sSf | sh
~$ source "$HOME/.cargo/env"
Enter fullscreen mode Exit fullscreen mode

Instalación de Solc Compiler

Cuando vayamos a compilar los binarios de wasp es necesario tener instalado el compilador de solidity

~$ sudo add-apt-repository ppa:ethereum/ethereum
~$ sudo apt update
~$ sudo apt install solc
Enter fullscreen mode Exit fullscreen mode

Instalación de Docker

Gracias a docker vamos a poder levantar de forma aislada y sencilla nuestro nodo Hornet y todos sus plugins.

~$ sudo apt install apt-transport-https ca-certificates curl software-properties-common
~$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
~$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
~$ sudo apt update
~$ apt-cache policy docker-ce
~$ sudo apt install docker-ce
~$ sudo systemctl status docker
~$ sudo usermod -aG docker ${USER}
~$ su - ${USER}
Enter fullscreen mode Exit fullscreen mode

Instalación de Docker Compose

Primero accedemos a las releases para ver que versión queremos instalar, en este caso la 2.15.1

~$ mkdir -p ~/.docker/cli-plugins/
~$ curl -SL https://github.com/docker/compose/releases/download/v2.15.1/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
~$ chmod +x ~/.docker/cli-plugins/docker-compose
Enter fullscreen mode Exit fullscreen mode

Instalamos:

Una vez tengamos instaladas todas estas herramientas lo siguiente será configurar y levantar un nodo Hornet, lo veremos en el siguiente capítulo.

Gracias y no olvidéis dejar vuestros comentarios!!

Top comments (10)

Collapse
 
muyamipesar profile image
muyamipesar

Muchas gracias! Estaré atento a tus publicaciones!

Collapse
 
alvarogardev profile image
alvarogardev

Muchas gracias, mi intención es ir dedicando tiempo a publicar artículos enfocados al desarrollo, me gustaría ir acompañándolos de videos mas explicativos e ir publicando todo lo que vaya aprendiendo.

Gracias por tu apoyo, cualquier cosa házmela saber.

Collapse
 
muyamipesar profile image
muyamipesar

Controlo un poco de desarrollo, no mucho y llevaba tiempo queriendo meterme en esto de IOTA y las DLT. Espero estar a la altura. Tenemos un amigo en común en Telegram que ha compartido tu info y aquí me he plantado en cero coma! jajajaja. Un placer seguirte, me encantaría reorientarme laboralmente hacia esto.

Thread Thread
 
alvarogardev profile image
alvarogardev

Genial compañero! es un mundo apasionante, yo a nivel laboral no estoy con temas DLT, estoy en el mundo del desarrollo de aplicaciones web pero realmente este campo es una pasada, mi objetivo también sería trabajar en esto, a ver si lo conseguimos!! de momento toca aprender, así que, juntos vamos a por ello!

Collapse
 
muyamipesar profile image
muyamipesar

Vamos al lío profe!
Image description

Collapse
 
alvarogardev profile image
alvarogardev

cualquier errata o mejora, lo pones por aquí!

Collapse
 
nakkimusic profile image
nakkimusic

Gran aporte

Collapse
 
muyamipesar profile image
muyamipesar

Primera lección completada! Te escribo desde mi nuevo ubuntu, creo que he seguido todos los pasos correctamente. Tuve que instalar curl que creía que venía por defecto jejejeje. Muchas gracias

Collapse
 
alvarogardev profile image
alvarogardev • Edited

Me alegro, buen trabajo, tengo a mitad el segundo capítulo!! para el fin de semana cae. He anotado eso que comentas de curl para instalar al inicio, gracias!

Collapse
 
eluis_uckban profile image
Luis Almendra Jauriatt

Vamos me gusta esto