Como Instalar Plugin Hyperledger Para VS Code en Ubuntu 18.04 Parte 1

Written by jeisonblckdv | Published 2020/04/28
Tech Story Tags: blockchain | hyperledger-dlt | blockchain-development | latest-tech-stories | hyperledger-spanish | install-plugin-in-hyperledger | hyperledger-ubuntu-spanish | install-node-npm-spanish

TLDR IBM Blockchain Platform is an extension to Visual Studio Code that includes Docker + Docker Compose. The plugin is a pre-requisitos lista de paquetes that son prerequisito para permitirle a apt usar a traves de HTTPS. The plugin can be used to instalar Node + NPS, Docker + GoGo, Node + Go or Docker + Node + Docker + NPM.js. The tool is a plugin for the IBM blockchain extension that lets users control versiones of Node.js and NPM.via the TL;DR App

La extensión de IBM Blockchain Platform ayuda a los desarrolladores a crear, probar y depurar contratos inteligentes, conectarse a un ambiente de Hyperledger Fabric con nodos y crear aplicaciones que puedan realizar transacciones en una red de pruebas local; tambien encontraremos una guia paso a paso que nos guiara en nuestro proceso de aprendizaje.

Instalación

Este es el sitio oficial Visual Studio Code Marketplace con información sobre el plugin
Primero debemos abrir VS Code y en la pestaña de las extensiones buscamos:
IBM Blockchain Platform
Despues de instalar el plugin nos va a pedir algunos pre-requisitos necesarios para que corra nuestro plugin que son:
Node + NPS
Docker + Docker Compose
Java
Go

Instalar Node y NPM

La mejor manera de instalar node es mediante un administrador de versiones de Node conocido como NVM, para asi poder elegir la version de node que deseamos instalar.
Para esto usaremos wget, si no lo tienes puedes instalarlo con el comando
sudo apt install wget
Luego ejecutamos el siguiente comando
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
A continuacion le permitiremos a NVM que sea usado desde el perfil bass de nuestro usuario mediante el siguiente comando:
source ~/.profile
Ahora podemos usar NVM para administrar nuestras veriones de Node.js, para ver las versiones disponibles ingresaremos el comando
nvm ls-remote
Para usar el blockchain extension necesitamos a la fecha de publicación de esta guia:
Node entre 8.x y 10.x; NPM >= 6.0.0
Si visitamos los releases de node.js vemos que en el bundle de node la version 10.3.0 nos instalan NPM 6.1.0, asi que instalaremos desde esta version en adelante. Yo recomiendo la version Dubnium por su soporte criptografico, modulos ABI y demas propiedades asi que instalare el 10.2.0 mediante el comando
nvm install 10.20.0
en caso de que tuviesemos instalada alguna version anterior o posterior de node podemos usar el comando use para seleccionar que version de node utilizaremos
nvm use node 10.20.0
Podemos constatar que version de node y NPM estamos usando mediante el comando
node -v
npm -v

Instalar Docker + Docker Compose

Si ya tienes instalado docker y sabes que funciona bien, no necesitas de sudo para hacer funcionar sus comandos entonces saltate hasta la instalación de Docker Compose
Docker
Primero actualizaremos nuestra lista de paquetes
sudo apt update
A continuacion instalaremos algunos paquetes que son prerequisito para permitirle a apt usar paquetes a traves de HTTPS
sudo apt install apt-transport-https ca-certificates curl software-properties-common
Agregamos la llave GPG del repositorio oficial de docker para ubuntu a nuestro sistema
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
Agregamos el repositorio de Docker a APT sources
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
Y a continuación actualizamos la base de datos para que incluya el repo de Docker que agregamos
sudo apt update
Nos aseguramos de instalar desde el repo de Docker en vez del de Ubuntu
apt-cache policy docker-ce
Instalamos Docker
sudo apt install docker-ce
Para poder utilizar docker dentro de nuestro plugin de VS Code necesitamos poder utilizarlo sin la necesidad de correrlo como sudo
Para evitarlo agregaremos nuestro usuario al grupo docker
sudo usermod -aG docker ${USER}
Para aplicar estos cambios debemos cerrar la sesion e iniciarla nuevamente o introducir en terminal el comando y confirmar con nuestro password
su - ${USER}
Confirmaremos que nuestro usuario esta incluido en el grupo docker
id -nG
Ahora docker debe estar instalado, el daemon iniciado y nuestro usuario incluido en el grupo docker. Constataremos que esta funcionando introduciendo
docker run hello-world
Primero nos dira que no encontro la imagen hello-world y por eso tiene que descargarla y luego la correra correctamente
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
0e03bdcc26d7: Pull complete 
Digest: sha256:8e3114318a995a1ee497790535e7b88365222a21771ae7e53687ad76563e8e76
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/
Si hemos llegado con exito hasta este punto, eso significa que docker debe estar ya instalado en nuestro sistema, a continuacion instalaremos docker compose.
Docker Compose
Nuestro plugin requiere Docker compose >= 1.14.0 en su github podras ver las versiones disponibles de docker, yo usare la 1.25.5 pero esto podria cambiar dependiendo de sus necesidades
sudo curl -L https://github.com/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
Luego configuramos los permisos
sudo chmod +x /usr/local/bin/docker-compose
Luego verificamos que este instalado docker compose y su versión
docker-compose --version
Una vez realizadas estas instalaciones ya podemos utilizar nuestro plugin de VS Code y quedarian pendientes los lenguajes de programación para desarrollar la lógica de nuestros contratos inteligentes, pero esto lo veremos en el proximo articulo.

Si deseas mas información sobre el funcionamiento de las herramientas que utilizaremos te invito a que visites estos enlaces.

Sitio oficial IBM Blockchain Platform
https://www.ibm.com/blockchain/platform
Sitio oficial de Node+NPM
https://nodejs.org/es/
Sitio oficial de docker
https://www.docker.com/
Info sobre instalación de vscode extension tomada de:
https://github.com/IBM-Blockchain/blockchain-vscode-extension
Info sobre instalacion de node js tomada de:
https://www.hostinger.es/tutoriales/instalar-node-js-ubuntu/
Como funcionan los releases de node:
https://medium.com/swlh/understanding-how-node-releases-work-in-2018-6fd356816db4
Como instalar y usar docker
https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-18-04
Como instalar docker compose
https://www.digitalocean.com/community/tutorials/how-to-install-docker-compose-on-ubuntu-18-04

Published by HackerNoon on 2020/04/28