Paso a Paso Configuración de un Masternodos de Gobyte

Publicado: 08/11/2021 en Criptomonedas

Trataré de explicar de la manera más sencilla posible la instalación de un masgternodo para la moneda Gobyte, para este tutorial utilizaré como servidor un equipo que está en mi casa con una máquina virtual creada para la ocasión con el ubuntu 20.04 server como sistema operativo, hay dos maneras de tener un servidor, o en un equipo propio o contratando un servicio de alojamiento, yo recomiendo que se contrate el alojamiento que teniendo un equipo propio por las ventajas que tiene esto último ya que un equipo propio puede haber problemas de corte de suministro de energía o de conexiones, en cambio un equipo en un centro de datos especializado evitamos estos inconvenientes.

  1. Configuración del servidor

Lo primero es instalar y configurar un servidor.
Partiendo de ya teniendo el sistema operativo instalado voy a explicar que es lo necesario para configurara un masternodo de gobyte y proteger el servidor de ataques o intentos de acceso no autorizados.
La comunicación con el servidor será por el protocolo SSH y utilizarás un software llamado PuTTY

Actualiza el servidor
$ sudo apt update
$ sudo apt upgrade

Instalamos un firewall
$ sudo apt install ufw python virtualenv git unzip pv

Instala los filtros
$ sudo ufw allow ssh/tcp
$ sudo ufw limit ssh/tcp
$ sudo ufw allow 12455/tcp
$ sudo ufw logging on
$ sudo ufw enable

Protegeremos al servidor de ataques DDos con fail2ban, pincha en el enlace para seguir el tutorial de instalación
fail2ban

Con esto vamos a evitar los ataques por fuerza bruta o DDos pero para darle una protección extra, tienes dos maneras de hacerlo editando el archivo sshd_config
$ nano /etc/ssh/sshd_config

Localiza la línea donde está PermitRootLogin yes y cámbiala por PermitRootLogin no con esto impedimos el acceso como administrador del sistema, ahora ve a la última línea del archivo y añade AllowUsers <username> done username es el nombre de usuario del sistema.
Guardamos pulsando Ctrl + O al mismo tiempo y luego X

O instalando el factor de doble autentificación de google siguiendo este enlace
F2A Google Authenticator


Las dos maneras están bien pero yo preferiría la última opción ahora tu elige la que prefieras

Crea una memoria virtual.
Establecemos y configuramos una memoria virtual
$ fallocate -l 4G /swapfile
$ chmod 600 /swapfile
$ mkswap /swapfile
$ swapon /swapfile

Hacemos que en el arranque el sistema operativo monte automáticamente la memoria virtual editando el archivo fstab
$ sudo nano /etc/fstab

Una vez abierto el archivo nos vamos a la última línea y tipeamos.
/swapfile none swap sw 0 0

Guardamos pulsando Ctrl + O al mismo tiempo y luego X

Si estás utilizando una máquina de tu propiedad en tu casa o en un lugar donde tengas acceso al router, te aconsejo que redirijas el puerto 22, éste puerto por defecto es el utilizado para el protocolo SSH con lo cual los atacantes lo van a utilizar para intentar acceder a tu máquina por fuerza bruta, ya tienes medidas de seguridad instaladas pero nunca está de más añadir otra capa de seguridad al sistema.

  1. Instalación el Masternodo en el servidor

Descarga el software Gobyte Core Wallet desde github.com, de la lista que sale buscamos la versión para nuestro equipo, en el caso de utilizar el servidor de este tutorial la versión sería gobytecore-0.16.1-x86_64-linux-gnu.tar.gz

Voy a describir la manera de que lo hago yo, cada uno es libre de hacerlo de la manera que más cómoda le parezca

Creo un directorio el la raiz del usuario con el nombre de Wallet
$ sudo mkdir Wallet
Accede al directorio
$ cd Wallet
Descarga la wallet de Gobyte, buscamos el archivo para ubuntu que es gobytecore-0.16.1-x86_64-linux-gnu.tar.gz colocamos el ratón encima y pulsamos el botón derecho, se abre una ventana y elegimos copiar dirección de enlace y descarga el archivo con wget y pega la dirección de enlace y pulsa Enter.
$ sudo wget https://github.com/gobytecoin/gobyte/releases/download/v0.16.1.1/gobytecore-0.16.1-x86_64-linux-gnu.tar.gz

Descarga el archivo de firmas SHA256SUMS.asc de la misma manera que el anterior
$ sudo wget https://github.com/gobytecoin/gobyte/releases/download/v0.16.1.1/SHA256SUMS.asc

Comprueba la integridad de la cartera de Gobyte
$ sudo sha256sum -c SHA256SUMS.asc

Al ejecutar el comando se comprueban todos los archivos que hay de gobyte en el directorio de descarga y como solo tienes uno descargado solo va a reconocer ese, por eso te da OK el que está en el recuadro rojo y FAILED el resto

Descomprime el archivo
$ sudo tar xzvf gobytecore-0.16.1-x86_64-linux-gnu.tar.gz

Sal del directorio Wallet y ve al directorio raíz del usuario
$ cd ..
Crea el directorio donde se guardará la blockchain y la cartera
$ sudo mkdir .gobytecore
Copia los archivos gobyted y gobyte-cli al directorio recién creado
$ sudo cp Wallet/gobytecore-0.16.1/bin/gobyted .gobytecore
$ sudo cp Wallet/gobytecore-0.16.1/bin/gobyte-cli .gobytecore
Dale permisos de escritura y lectura
$ sudo chmod 777 .gobytecore/gobyte*

Crea el archivo de configuración para el masternodo
$ sudo nano ~/.gobytecore/gobyte.conf

Y copia y pega esto

#----
rpcuser=XXXXXXXXXXXXX
rpcpassword=XXXXXXXXXXXXXXXXXXXXXXXXXXXX
rpcallowip=127.0.0.1
#----
listen=1
server=1
daemon=1
maxconnections=64
#----
masternode=1
masternodeprivkey=XXXXXXXXXXXXXXXXXXXXXXX
externalip=XXX.XXX.XXX.XXX
#----

Guarda el archivo pulsabdo Ctrl + O

Pon en marcha el Masternodo
$ cd .gobytecore
$ ./gobyted

Espera a que se sincronice, puedes ver el estado tipeando
$ ./gobyte-cli mnsync status

Cuando termine de sincronizar Aparecerá AssetID: 999, ahora genera la clave privada y pública del masternodo
$ ./gobyte-cli bls generate

Anota estas dos claves y no las pierdas, la clave privada va en el masternodo, y buscamos la línea masternodeprivkey= y sustituye las xxxxxx por la clave privada. La clave pública la utilizaras más adelante en la wallet para generar el hash que validará el masternodo en la blockchain.

Editamos el fichero gobyte.conf
$ sudo nano gobyte.conf

Ahora tienes que reemplazar las xxxxxxxxxxx por los datos de tu servidor ojo no puedes utilizar caracteres especiales solo números y letras
rpuser= pon un nombre de tu invención
rpcpassword= pon una contraseña de tu invención
masternodeprivkey= pon la clave privada generada en el paso anterior
externalip= pon la IP de tu servidor

Reinicia el Nodo
$ ./gobyte-cli stop
$ sleep 15
$ ./gobyted

O puedes reiniciar el servidor
$ sudo reboot

  1. Generación del HASH para validar el masternodo

En esta parte utilizarás la wallet para generar el hash de la validación del masternodo, el nodo se registra en la blockchain.

  • Crea el colateral

Abre la wallet, ve a la pestaña recibir y crea una dirección de cartera y escribe el comentario que quieras para saber que esta wallet va a pertenecer al colateral que se exige para estableces un masternodo que es de 1000 monedas.

Una vez creada la wallet, ve a la pestaña de Enviar y envía 1000 monedas a la dirección que has creado en el paso anterior, envía 1000 monedas justas ni una más ni una menos

  • Crea el hash de la transacción

Ve a a la parte de arriba del todo y busca Herramientas abre esa pestaña y selecciona Consola de Depuración y tipea
masternode outputs
Te retornará con todos los strings de todos los colaterales que tengas, anota estos string en un documento de texto para utilizarlos luego

  • Crea dos direcciones nuevas

Una la llamaremos ownerKeyAddr y la otra payoutAddress

  • Crea el comando para validar el nodo

Ahora en un bloc de notas prepara los comandos antes de ponerlos en la consola

la sentencia a es la siguiente:
protx register_prepare collateralHash collateralIndex ipAndPort ownerKeyAddr
operatorPubKey ownerKeyAddr operatorReward payoutAddress

Donde:
protx register_prepare: Es el comando a ejecutar
collateralHash: Es el hash del colateral que generamos en un paso anterior
collateralIndex: Es el número separado que obtuvimos al generar el hash del colateral, suele ser 1
ipAndPort: Ip de la línea y el puerto por el que el servidor se comunica
ownerKeyAddr: La primera dirección de cartera que generamos más arriba
operatorPubKey: Es la clave pública que generamos en el servidor en un paso anterior
ownerKeyAddr: Volvemos a poner la primera cartera que generamos más arriba
operatorReward: El porcentaje de recompensa que queremos que el propietario del nodo reciba por alojar nuestro nodo
payoutAddress: La ultima dirección de cartera que generamos

La cartera de ownerKeyAddr debe de tener los fondos suficientes para pagar tarifa de red para poder grabar nuestro nodo en la bockchain

Ejemplo:
ownerKeyAddr: GLYi454SCDKthWhyj4JYYtTR5iDJipLmzn
payoutAddress: GUUXwjbiNtFz5B2ZyWacU9LqaQZvPjFdBr

protx register_prepare c7151e943ca17b897831a1aa72b2b3831af014fb4a64a192285439755479adf5 1 95.172.111.120:12455 GLYi454SCDKthWhyj4JYYtTR5iDJipLmzn 0355ea1ed12ba32b20055d08f928d30ac4db34e19706f633c3a5c57ba588dc66f452696aad96d3a12dc4e2e2b0e4a3c4 GLYi454SCDKthWhyj4JYYtTR5iDJipLmzn 0 GUUXwjbiNtFz5B2ZyWacU9LqaQZvPjFdBr

Una vez tengas el comando creado lo copias, abre la cartera de Gobyte Core y vas a la parte superior en Herramientas –> Consola de Depuración y en la casilla de abajo pegas el comando y pulsas Enter y te devuelve un hash, copia ese hash en el bloc de notas por que vas a crear otro comando.

Lo que devuelve la consola y lo anotamos en un bloc de notas

"tx": "03000100011d15395da56bda2d33077daedc0091b26d2a6811b21365a9ecb284e9e989874c0100000000feffffff0121dff505000000001976a914752f232c96e4663c1545746546b451014e7625cb88ac00000000d1010000000000f5ad79347329540890b16444eb14f00a43b3b272a481317659fba12c911e15c70100000000000000000000000000ffff5cacc97530a71da6fdd700cfad3a5030985c7e53d33737fba6d80395ea1ed123732b28055d08f928d30ac4db34e19706f6c3c3adc57ba588dc61f452696aed96daa12dc442e2b0e4a3c41da6fdd700cfad3a5030985c7e53d33737fba6d800001976a914752f232c96e4663c1545746546b451014e7625cb88ace4089f8a57aa3f814c56debe33373f2555f7272f7fbfc562eed9b3f2015222a000",
"collateralAddress": "GNtYaVWAWqqYW3UgmaqUN6ZaX7hpCoWXx7",
"signMessage": "GUXXwjbVNtFzQB2ZyRacU9LqaQZvPjFdBr|0|GLYi4U4SCWKthDyyj4JtYtTR5iDJNpLTzn|GLYi4U4SCWKthDyyj4JtYtTR5iDJNpLTzn|fda23275e75fd692bf3c56064c8a2224387117466bb1fd24730efc5500cd5b3d"

El siguiente paso es firmar la transacción ProRegTx
Volvemos a utilizar el bloc de notas para componer el comando que vamos a utilizar en la consola.

signmessage collateralAddress signMessage

Ejemplo:

signmessage GNtYaVWAWqqYW3UgmaqUN6ZaX7hpCoWXx7
GUXXwjbVNtFzQB2ZyRacU9LqaQZvPjFdBr|0|GLYi4U4SCWKthDyyj4JtYtTR5iDJNpLTzn|GLYi4U4SCWKthDyyj4JtYtTR5iDJNpLTzn|fda23275e75fd692bf3c56064c8a2224387117466bb1fd24730efc5500cd5b3d

Volvemos a pasarlo por consola y lo que nos devuelve será un hash «sig«

Ejemplo:

IHk+rbEklakeOF0iqGKDCX2pWPeGUwwvMakSJSJI8i21oRHzo//QTkq7rUDCdCd7JVMQ25/aO7mI7uh/h58h7AE=

Y por último registramos el la blockchain el nodo con el comando

protx register_submit tx sig

Ejemplo:

protx register_submit 03000100011d15395da56bda2d33077daedc0091b26d2a6811b21365a9ecb284e9e989874c0100000000feffffff0121dff505000000001976a914752f232c96e4663c1545746546b451014e7625cb88ac00000000d1010000000000f5ad79347329540890b16444eb14f00a43b3b272a481317659fba12c911e15c70100000000000000000000000000ffff5cacc97530a71da6fdd700cfad3a5030985c7e53d33737fba6d80395ea1ed123732b28055d08f928d30ac4db34e19706f6c3c3adc57ba588dc61f452696aed96daa12dc442e2b0e4a3c41da6fdd700cfad3a5030985c7e53d33737fba6d800001976a914752f232c96e4663c1545746546b451014e7625cb88ace4089f8a57aa3f814c56debe33373f2555f7272f7fbfc562eed9b3f2015222a000 IHk+rbEklakeOF0iqGKDCX2pWPeGUwwvMakSJSJI8i21oRHzo//QTkq7rUDCdCd7JVMQ25/aO7mI7uh/h58h7AE=

La salida de este último comando daría algo parecido a esto:
aba8c22f8992d78fd4ff0c94cb19a5c30e62e7587ee43d5285296a4e6e5af062

Y con esto ya tenemos nuestro masternodo registrado y funcionando

Comprueba el funcionamiento de tu Masternodo.
Para ver si tu masternodo está funcionando, ve al servidor, en el directorio .gobytecore tipea
$ ./gobyte-cli masternode status

Si te ha gustado y te ha sido útil este tutorial puedes invitarme a un café con algo de GBX

GVuMGbV1d1FRfsbnzaY4HZs4W7EJdsSgZS

FIN

Deja un comentario