En este manual vamos a detallar los pasos necesarios para crear un servicio VPS basado en Ubuntu Linux 18.04 LTS para poder realizar labores de staking.
Puedes ver en detalle todos los pasos a realizar en este vídeo.
Se ha seleccionado para la instalación el servicio de Vultr debido a que nos proporciona 100$ de saldo al registrarnos para usarlos durante el primer més usando este enlace Vultr.
Cada servicio de staking tiene unas necesidades mínimas diferentes:
- MonetaryUnit: 1 Core, 1GB RAM y 10GB de disco duro
- OkCash: 1 Core, 2GB RAM y 10GB de disco duro
- Energi: 1 Core, 1GB RAM y 10GB de disco duro
Vultr nos ofrece los siguientes tipos de servicios para cubrir dichas necesidades:
- MonetaryUnit: Server Cloud Compute --> Server Size 25 GB SSD (5$/mes)
- OkCash: Server Cloud Compute --> Server Size 55 GB SSD (10$/mes)
- Energi: Server Cloud Compute --> Server Size 25 GB SSD (5$/mes)
Otro punto a tener en cuenta a la hora de crear el servidor será la ubicación. Debido a ciertas restricciones respecto a las criptomonedas, es preferible elegir cualquier ubicación fuera de USA, y siempre es preferible, por rendimiento en la conexión de red, que se encuentre físicamente lo más cerca posible de nuestra ubicación.
Para este proceso vamos a tomar de ejemplo MonetaryUnit por ser el más fácil y económico de construir. Los pasos, una vez creada la cuenta en Vultr serían los siguientes:
-
Accederemos al apartado de Products/Instances y pulsaremos el botón de añadir ubicado a la derecha.
-
Elegiremos las siguientes opciones:
- Choose Server: Cloud Compute
- Server Location: P.e. Amsterdam
- Server Type: En la pestaña de 64 bits OS elegiremos Ubuntu 18.04 LTS por ser el más compatible con todos los tipos de staking que vamos a usar.
- Server Size: 25 GB SSD cuyo coste será de 5$/mes y tiene como características adicionales 1 CPU, 1024MB Memory y 1000GB Bandwidth
- Establecer nombre al servidor: P.e. StakingMUE
- Deploy Now: Pulsaremos el botón para crear la instancia del servidor VPS.
Una vez realizadas estas acciones nos devolverá a la pantalla de Products donde podremos ver como se instala el servidor VPS que hemos seleccionado. Una vez terminada la instalación nos aparecerá como Running. Si pulsamos sobre los tres puntos a su derecha podremos acceder a los detalles del servidor.
En este apartado tendremos datos muy importantes que nos servirán para poder conectarnos remotamente al servidor como su dirección IP, el nombre de usuario administrador creado y la contraseña de acceso. Además podremos monitorizar el ancho de banda de red consumido, el uso de CPU y el coste acumulado del servicio (se tarifica por horas, por lo que podremos en cualquier momento eliminarlo sin tener que pagar por periodos mensuales o superiores, solamente pagaremos lo consumido en horas).
Una vez creado deberemos conectarnos al servidor para poder configurarlo. Para ello usaremos un cliente SSH que, dependiendo del S.O. de nuestro ordenador, podría ser:
- GNU/Linux y MacOS X: Disponen del cliente ssh en la consola de comandos del S.O. Para poder conectarnos al servidor usaremos la siguiente instrucción (deberemos sustituir IP_SERVIDOR por la IP proporcionada por Vultr en la pantalla anterior, en nuestro caso _185.92.222.149_):
ssh root@IP_SERVIDOR
A continuación se nos pedirá que aceptemos las credenciales del servidor, a lo que responderemos que si, para luego solicitarnos la contraseña del usuario root, que podremos copiar y pegar desde el mismo sitio.
-
Windows: Podemos descargar uno de estos clientes gratuitos:
Cada uno de estos clientes tiene un funcionamiento muy similar e intuitívo. Deberemos introducir la IP, el nombre de usuario y la contraseña, y la primera vez que nos conectemos nos pedirá que aceptemos las credenciales del servidor.
Una vez hayamos accedido a la consola del servidor deberemos realizar los siguientes pasos (ejecutando los comandos con el usuario root):
- Actualizar el software a la última versión:
apt update && \
apt upgrade -y
- Configurar la memoria de intercambio para cubrir las necesidades del software de staking.
dd if=/dev/zero of=/swapfile bs=4M count=1024 && \
chmod 600 /swapfile && \
mkswap /swapfile && \
swapon /swapfile && \
echo -e '/swapfile none swap defaults 0 0' >> /etc/fstab && \
echo -e 'vm.swappiness=10' >> /etc/sysctl.conf
- Es conveniente reiniciar el sistema en este momento, lo que nos obligará a volver a conectarnos, para lo cual ejecutaremos el comando:
reboot
- Instalar todas las dependencias necesarias para poder tener un entorno gráfico:
apt install -y xfce4 firefox firefox-locale-es tigervnc-standalone-server
- Crear el usuario que se va a encargar de realizar el staking:
adduser staker
Se nos pedirá que introduzcamos una contraseña para ese usuario que deberemos recordar para futuros accesos.
- Otorgar permisos de instalación al usuario:
usermod -aG sudo staker
- Configurar el servidor VNC, que nos permitirá acceder al escritorio del VPS de manera remota. Primero deberemos identificarnos como el usuario staker:
su - staker
y a continuación configuraremos el servidor VNC
vncserver
Se nos pedirá que introduzcamos una contraseña para el servidor VNC que nos será necesaria para cuando queramos conectarnos remotamente el escritorio del VPS (no será necesario introducir contraseña de solo lectura cuando se nos pida). Una vez introducida ejecutaremos los siguientes comandos para configurar la sesión de usuario para el escritorio gráfico:
vncserver -kill :1 && \
echo -e '#!/bin/bash \nxrdb \$HOME/.Xresources \nstartxfce4 &' > ~/.vnc/xstartup
- Configurar el inicio automático del entorno gráfico al reiniciar el sistema. Para ello usaremos los siguientes comandos:
exit
para volver al usuario root
echo -e '[Unit] \nDescription=Start VNC server at startup \nAfter=syslog.target network.target \n \n[Service] \nType=forking \nUser=staker \nGroup=staker \nWorkingDirectory=/home/staker \n \nPIDFile=/home/staker/.vnc/%H:%i.pid \nExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 \nExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x960 :%i \nExecStop=/usr/bin/vncserver -kill :%i \n \n[Install] \nWantedBy=multi-user.target \n' > /etc/systemd/system/vncserver@.service && \
systemctl daemon-reload && \
systemctl enable vncserver@1.service && \
systemctl start vncserver@1 && \
reboot
- Configuramos el firewall para limitar el acceso solamente mediante conexión segura SSH:
ufw allow ssh && \
ufw enable
Para ello, dependiendo del ordenador con el que estemos trabajando deberemos usar uno de estos mecanismos:
- GNU/Linux o MacOS X: Ejecutaremos el siguiente comando a partir de ahora para conectarnos al servidor VPS (debemos sustituir IP_SERVIDOR por la ip del VPS):
ssh -L 5901:127.0.0.1:5901 -C -N -l staker IP_SERVIDOR
- Windows: Dependiendo del cliente usado (Bitvise o PuTTy) configuraremos un tunel entre el puerto 5901 de localhost al mismo puerto remoto (ver imágenes):
Casi todos los clientes VNC funcionan de manera similar. Deberemos configurarlos para que se conecten al puerto local 5901 y así aprovechar el tunel seguro que hemos creado con el cliente SSH.
Para Windows me gusta usar el cliente RealVNC y su configuración quedaría así:
Cuando nos conectemos se nos pedirá la contraseña que hemos creado al configurar el servidor VNC en el apartado 4.
Cuando además sea la primera vez que nos conectamos se nos solicitará elijamos que configuración de los paneles queremos. Elegiremos la configuración por defecto:
Para instalar dicha billetera deberemos seguir las siguientes instrucciones desde una consola de comandos del VPS del escritorio remoto:
wget https://github.com/muecoin/MUE/releases/download/v2.1.6/mon-2.1.6-x86_64-linux-gnu.tar.gz && \
tar xvzf mon-2.1.6-x86_64-linux-gnu.tar.gz && \
mkdir ~/bin && \
echo -e 'PATH=~/bin:$PATH' >> .bashrc && \
mv mon/bin/* ~/bin && \
rm -Rvf mon/ mon-2.1.6-x86_64-linux-gnu.tar.gz
A continuación cerraremos la consola de comandos y crearemos un icono en el escritorio para lanzar la aplicación pulsando el botón derecho del ratón:
Et VOILÁ!