Cómo ejecutar su nodo ADAMANT en Ubuntu

ADAMANT usa Fair dPoS para llegar a un consenso en el sistema blockchain. Para obtener más información sobre Fair dPoS y las ventajas de ejecutar su propio nodo, lea DPoS explicado: simplemente.

Este manual le explicará cómo instalar, ejecutar y actualizar un nodo ADAMANT en Ubuntu 16 o 18. También puede probar otros sistemas compatibles con Linux, pero aún no se han probado. Si desea ejecutar un nodo ADAMANT en Windows o Mac con Docker, consulte este manual.

Nota: Se necesitan conocimientos básicos de TI y Linux.

Requisitos previos

Necesita una VM (máquina virtual) preinstalada compatible con Ubuntu, versión 16.04 LTS o 18.

Formas de obtener Ubuntu:

  • Cualquier servicio en la nube como: DigitalOcean, OVH, Hetzner, Scaleway, ArubaCloud. Casi todos estos proveedores le permiten crear una máquina virtual en muy poco tiempo.
  • Aplicación de VM en Windows o Mac (VMWare, VirtualBox o cualquier otra cosa) con la imagen de Ubuntu instalada.
  • PC compatible con Ubuntu.

Requisitos de la máquina virtual:

  • 1 GB de RAM (se recomiendan 2 GB de RAM).
  • 10 GB de espacio en disco (depende de la altura actual del bloque).

Dos formas de instalar el nodo ADAMANT

Hay dos formas de instalar un nodo ADAMANT, la primera solo requiere un script listo para usar y es adecuado para principiantes. La segunda forma requiere control sobre todo el proceso y es adecuada para usuarios avanzados.

Si eres primerizo, haz lo siguiente

Todo lo que tiene que hacer después de iniciar sesión es ejecutar un script Bash simple:

bash -c "$ (wget -O - https://adamant.im/install_node.sh)"

Si está de acuerdo con el mensaje de notificación, escriba "sí" o cancele la instalación. Después de eso, debe establecer una nueva contraseña para el usuario de la base de datos y una contraseña para el nuevo usuario del sistema.

Nota: los caracteres de la contraseña no son visibles durante la entrada.

Ahora solo tiene que esperar de 7 a 15 minutos y todo está listo.

Su nodo se está ejecutando y configurado. Puede verificar que su nodo esté conectado a la cadena de bloques ADAMANT.

Si es un usuario avanzado, haga lo siguiente

1) Inicie su terminal Ubuntu

En primer lugar, ejecuta tu VM con Ubuntu o ejecútalo usando un cliente SSH como PuTTy o Bitvise para Windows. Si usa GNU / Linux u OS X, escriba ssh root @ IP_address.

Nota: Se necesitan permisos de administrador.

2) Actualice su sistema ingresando el siguiente comando:

sudo apt update && sudo apt upgrade -y

Si se le preguntará como en la imagen a continuación, presione Entrar para confirmar la configuración predeterminada. Puede tomar unos minutos.

3) Instalación de requisitos previos .. Instalar python, git, etc .:

sudo apt install -y python build-essential curl automake autoconf libtool git

4) Instalar PostgreSQL (versión 11.1)

Agregue el repositorio y su clave:

sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/` lsb_release -cs`-pgdg main "> /etc/apt/sources.list.d/pgdg.list' && wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -

Actualice la lista de paquetes e instale postgresql:

sudo apt update && sudo apt install -y postgresql postgresql-contrib libpq-dev

Los siguientes comandos crean un usuario DB (por ejemplo, adamant) y un DB titulado adamant_main.

cd / tmp
su postgres -c psql
CREAR PAPEL firme CONTRASEÑA INICIAR SESIÓN 'HardPass111';

¡Observo! Piense en una nueva contraseña en lugar de "HardPass111".

CREAR BASE DE DATOS adamant_main;

Escriba \ q para salir de psql

\ q

5) Crear nuevo usuario del sistema operativo

Puede elegir cualquier nombre de usuario, esta muestra crea firme al usuario y le otorga los permisos necesarios para elegir.

adduser adamant

Luego escriba una contraseña y confirme. No tiene que llenar los espacios adicionales.

sudo usermod -aG sudo inflexible
su - inflexible

6) Instalar Node.js a través de nvm

Cuando inicia sesión como inflexible, puede instalar nodejs.

wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | golpetazo

Luego, cierre sesión y vuelva a iniciar sesión

salida
su - inflexible

Para instalar nodejs v10.9, escriba lo siguiente

nvm i 10.9

7) Instale PM2 - administrador de procesos de nodo:

npm install -g pm2

8) Instalar un nodo ADAMANT

Luego, clone el repositorio ADAMANT e instale las siguientes dependencias:

git clone https://github.com/Adamant-im/adamant
cd inflexible
npm i

9) Cambiar las configuraciones de ADAMANT

nano config.json

Si nano editor no está instalado, instálelo con el comando

sudo apt install nano

Cambiar las credenciales de la base de datos. En este momento, de acuerdo con el siguiente ejemplo, necesitamos cambiar solo la contraseña de la base de datos ("HardPass111" en este ejemplo, cambiar a la suya).

Si desea tener acceso a algunos comandos API en el navegador, cambie api / access / public a true.

Cambie consoleLogLevel a error para ver si todo está bien.

Para guardar los cambios, presione F2, y, Enter.

10) Descargue la imagen de la base de datos ADAMANT Blockchain

No es obligatorio Para ser sincero, si realmente desea apoyar la descentralización, debe omitir este paso.

Ahorra tiempo en la sincronización de nodos, pero debe confiar completamente en la imagen. Si omite este paso, su nodo verificará cada transacción, lo que lleva tiempo (hasta varios días). Sin embargo, demuestra la consistencia de Blockchain.

Si aún desea continuar, debe detener el nodo ADAMANT:

pm2 parada firme

Siguiente descarga la imagen

wget https://explorer.adamant.im/db_backup.sql.gz

https://explorer.adamant.im/db_backup.sql.gz es la última imagen diaria del equipo de ADAMANT.

Descomprime la imagen:

gunzip db_backup.sql.gz

Donde db_backup.sql.gz se descarga el nombre del archivo de imagen.

Finalmente, cargue la imagen en la base de datos del nodo:

psql adamant_main 

Nota: no debe ejecutar ningún nodo que haya registrado anteriormente. De lo contrario, debe crear una nueva base de datos adamant_main utilizando los comandos dropdb y createdb.

Finalmente, todo está hecho y puede continuar.

Habilitar API para aplicaciones

Si no habilitó la API en el paso 9, puede hacerlo en cualquier momento.

La API permite que las aplicaciones de mensajería ADAMANT se conecten a sus nodos y envíen y recuperen mensajes.

Es muy importante apoyar la descentralización. Cuantos más nodos haya, más anónima y segura será la infraestructura de mensajería.

Si ejecuta un nodo para proteger su anonimato, debe habilitar la API. Después de eso, puede elegir un nodo en la sección "Configuración" de la aplicación de mensajería.

Para habilitar API para aplicaciones, ejecute el siguiente comando

nano config.json

Cambiar el parámetro público en la subsección api / access.

Para guardar los cambios, presione F2, y, Enter.

Si su nodo ya se está ejecutando, reinicie su nodo:

pm2 reiniciar firme

Para verificar si la API está habilitada, abra el siguiente enlace en el navegador (su nodo debe estar activo):

http: // : 36666 / api / blocks / getHeight

Debe cambiar de 80.211.177.181 a la IP y el protocolo de su nodo (si es necesario). Por ejemplo, http://80.211.177.181:36666/api/blocks/getHeight

Verificando que su nodo esté instalado correctamente

Para comprobar que ADAMANT está construido y configurado correctamente, ejecute el siguiente comando:

nodo app.js

Normalmente verá errores y avisos.

Una vez que se asegure de que el proceso se ejecuta correctamente, presione CTRL + C para volver a la línea de comando.

Ejecutando el nodo ADAMANT

Para iniciar su nodo ADAMANT, use pm2. Esto bifurcará el proceso en segundo plano. Si el proceso falla, se recuperará automáticamente.

pm2 start --name adamant app.js
discos compactos

Una vez que se inicia el proceso, se puede recuperar su estado de tiempo de ejecución y ubicación de registro emitiendo el siguiente comando:

pm2 show inflexible

Úselo en cualquier momento que desee ver su estado de nodo. Debería estar en línea.

Deteniendo el nodo ADAMANT

Si necesita hacer cambios, p. para actualizar un nodo, use estas instrucciones para detenerlo.

Para detener ADAMANT después de que se haya iniciado con pm2, emita el siguiente comando:

pm2 parada firme

Verificando la conexión de su nodo

Para verificar si el nodo está conectado correctamente al sistema blockchain del mensajero, siga este enlace https://explorer.adamant.im/networkMonitor.

Encuentre su nodo en la lista de Nodos por la dirección IP de su nodo. Tenga en cuenta que su nodo puede tardar varios minutos en aparecer en la lista.

Si acaba de instalar el nodo pero aún no se ha sincronizado, su Altura se marcará con "1". El nodo puede tardar hasta 1 día o más en sincronizarse, dependiendo de su conexión y CPU.

Para verificar la Altura de su nodo, use lo siguiente:

curl -k -X GET http: // localhost: 36666 / api / blocks / getHeight

Cuando se complete la sincronización, la altura será la misma que para otros nodos.

Nodo ADAMANT de inicio automático al reiniciar el sistema

Como es un problema común que el proveedor de VPS pueda reiniciar su máquina, será una buena idea agregar el proceso de nodo ADAMANT en crontab. Sin embargo, si prefiere controlar el VPS manualmente, este paso no es necesario.

Asegúrese de ejecutar comandos bajo usuario firme:

su - inflexible

A continuación, abra el editor crontab:

crontab -e

La elección del editor depende de usted. En cuanto a mí, prefiero nano.

Añadir cadena al final:

@reboot cd / home / adamant / adamant && pm2 start --name adamant app.js

Presione Ctrl + x para salir del editor, y para confirmar el archivo guardado, Enter para guardar los cambios.

Eso es.

Actualización de su nodo ADAMANT

En primer lugar, marque la sección Detener el nodo ADAMANT para detener su nodo.

Elige tu usuario inflexible.

su - inflexible
cd inflexible

Guarde el archivo de configuración, luego actualice su nodo ADAMANT y, finalmente, edite la versión del Nodo en la configuración:

mv config.json config3.json && git pull && mv config3.json config.json && nano config.json

Cuando se abre config.json, debe cambiar el número de "versión" a una actualizada.

Para guardar los cambios, presione F2, y, Enter.

Actualizar dependencias:

actualización npm

Ahora, puede reiniciar su nodo ADAMANT:

pm2 reiniciar firme

¿Que sigue?

Puede convertirse en un delegado de Blockchain, comenzar a forjar y recibir recompensas. Si está interesado, eche un vistazo al siguiente artículo: Cómo convertirse en un delegado de ADAMANT.