Configuración de un Qtum Super Stacker — Parte 2 AWS

Este blog ilustra cómo configurar un super staker de qtum en AWS. Vea la versión en video del blog con todos los comandos de clic a clic aquí en YouTube.
1. Introducción
En este blog, configuraremos la billetera Qtum Core en un VPS (Servidor Privado Virtual) en la nube.
En este blog, configuraremos QtumUsar un VPS en la “nube” significa usar una instancia de una computadora de software en un centro de datos remoto proporcionado por un proveedor de alojamiento en la nube. En comparación con el uso de un “local” (una computadora física en su ubicación), el uso de servicios en la nube es más flexible, eficiente y es ampliamente utilizado por empresas y en aplicaciones comerciales y profesionales. En el centro de datos de alojamiento en la nube, hay una computadora física con CPU, memoria, almacenamiento, etc. que proporciona la computadora virtual. Esta computadora virtual se ejecuta en un bastidor anónimo con otros 1000 VPS en una sala enorme con cientos de otros bastidores similares, y personal para mantener todo. Cartera básica en un VPS (Virtual Private Server) en la nube.
Podemos echar un vistazo a un centro de datos en la nube de Google https://youtu.be/XZmGGAbHqa0

AWS y AMI
AWS (Amazon Web Services) es una plataforma de alojamiento en la nube para servidores virtuales y almacenamiento de archivos. En el tercer trimestre de 2020, AWS tenía el 32% del mercado mundial de servicios en la nube, seguido de Microsoft y Alibaba. Para este blog, ejecutaremos la billetera Qtum Core en AWS.
La AMI (Amazon Machine Image) proporciona una aplicación y una plantilla (configuración, permisos, etc.) para lanzar un VPS AWS individual. El equipo de Qtum ha configurado una AMI para lanzar Qtum Core Wallet qtumd.
Una “instancia” es un VPS específico que se puede configurar para un nodo Qtum u otro software. Las instancias se pueden agregar, iniciar, detener o finalizar fácilmente (¡no finalice una instancia antes de realizar una copia de seguridad de la billetera!).
¿Es segura la nube?
En mi opinión, la seguridad en línea depende principalmente del usuario. Un riesgo para las billeteras de criptomonedas es usarlas en una computadora que también se usa para navegar por la Web y abrir el correo electrónico porque así es como el malware infecta la computadora. Recomendamos usar una computadora local dedicada para billeteras de criptomonedas, separada de otras actividades de Internet. Pero incluso para una computadora dedicada, puede estar en una red doméstica con otras computadoras / usuarios potencialmente inseguros. No hay garantías para la seguridad informática, pero el uso de una instancia en la nube dedicada para una billetera de criptomonedas puede ser una mejora de seguridad en comparación con una red doméstica compartida.
También considero que la seguridad la determina principalmente el usuario, y un riesgo mayor que los piratas informáticos puede ser el error del usuario al perder el archivo wallet.dat o la frase de contraseña. Las buenas copias de seguridad son fundamentales y las cubrimos a continuación.
Los grandes centros de datos como AWS cumplen con una sopa de letras de certificaciones de seguridad: ISO 27001, ISO 9001, ISO 27017, ISO 27018, SOC 1, SOC 2, SOC3, PCI DSS Nivel 1 y más. Los sistemas en las instalaciones, incluso para los operadores comerciales, tienen dificultades para cumplir con este nivel de seguridad.
Hay muchos pasos para configurar una cuenta de AWS, instalar una instancia de billetera Qtum y ejecutar un Super Staker, que se detallan en las referencias a continuación. Probablemente haya menos clics del mouse para configurar un nodo Qtum en la nube que configurar un nuevo escritorio e instalarlo localmente, y existen importantes beneficios al usar un VPS en la nube.
El video que acompaña a este blog en YouTube y la referencia a continuación muestran la instalación paso a paso. A continuación se muestran algunos aspectos destacados.

2. Obtenga WinSCP, cuenta de AWS
Es importante hacer una copia de seguridad de una billetera en la nube en algún almacenamiento local. Para descargar y hacer una copia de seguridad del archivo wallet.dat usaremos WinSCP (Protocolo de copia segura de Windows), que puede realizar una transferencia de archivos a Windows sin configurar un servidor FTP.

En este paso, también configuramos una cuenta de AWS en https://aws.amazon.com/

3. Lanzamiento de instancia con Qtum
Una vez que se configura la cuenta de AWS, es bastante fácil usar la AMI de Qtum para instalar una billetera Qtum en una instancia de AWS VPS. La AMI (Amazon Machine Image) proporciona el software y la configuración para instalar el nodo Qtum. Cuando la instancia de VPS se está ejecutando, podemos lanzar un Qtum Super Staker.

4. Inicie qtum Super Stacker
Podemos lanzar la billetera del demonio / servidor qtumd con los parámetros predeterminados de Super Staker:
qtumd -testnet -daemon -superstaking -stakingminfee=10 -stakingminutxovalue=100 -reindex
Aquí los parámetros son
-testnet significa que la billetera operará en la blockchain Qtum testnet. Omita este parámetro para operar la billetera en mainnet.
-daemon significa que la billetera se ejecutará como un proceso en segundo plano.
-superstaking significa que la billetera operará como un Super Stacker con bases de datos adicionales para acceder a direcciones delegadas y acciones de contratos inteligentes.
-stakingminfee da la tarifa mínima para las delegaciones que aceptará esta billetera. El valor predeterminado es 10%, las delegaciones con tarifas inferiores a la tarifa mínima se ignorarán.
-stakingminutxovalue da el tamaño mínimo de UTXO (Salida de transacción no gastada) que sera staked para las direcciones delegadas. Los UTXO por debajo de este valor no seran staked.
-reindex significa que la billetera creará bases de datos para direcciones y acciones de contratos inteligentes para que pueda operar como un Super Staker.

5. Copia de seguridad Billetera con WinSCP
Hay muchos pasos para usar WinSCP para una copia de seguridad, pero esta puede ser la forma más fácil de copiar un archivo de AWS (Linux) a una computadora Windows local.

6. División de UTXO
Los UTXO de Super Staker deben dividirse en UTXO de tamaño 100, que son necesarios para comprometer participaciones para direcciones delegadas. Los pasos de configuración muestran cómo dividir los UTXO y verificar el resultado usando el comando “listunspent”.

7. Revisando la delegacion
Cuando el Super Staker recibe una delegación, el comando “getdelegationforstaker” mostrará el resultado, incluida la dirección del delegado, la tarifa que seleccionó y el peso (para monedas maduras).

Cuando el Super Staker recibe una recompensa en bloque, mostrará el pago de la tarifa del 10% donde el otro 90% va a la dirección delegada. Verifique la billetera usando el comando “getwalletinfo” o use el explorador testnet testnet.qtum.info o mainnet qtum.info.
8. Limpieza de seguridad
Para la limpieza de seguridad, después de configurar la billetera, es una buena idea copiar o mover la carpeta que contiene las claves privadas de AWS SSH y el archivo wallet.dat a una o más unidades USB como respaldo.

9. Bloque de recompensas
Después de varios días, el staker ganó algunas recompensas en bloque. Estos se pueden ver usando los comandos “-getinfo” y “getstakinginfo”. Una recompensa en bloque para los UTXO del propio Staker pagará el monto total, actualmente 4.0 QTUM, más gasolina y tarifas, y una recompensa en bloque para los UTXO de dirección delegada pagará 0.4 QTUM o 10% al Super Staker y 3.6 QTUM o 90% a el delegado (por una tarifa de delegación del 10%). Estas recompensas en bloque se pueden ver fácilmente en el explorador:


References
1. Configuración de un archivo de intercambio en Linux https://linuxize.com/post/create-a-linux-swap-file/
2. Amazon Elastic Compute Cloud https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html
3. Archivos de comando
Copie y pegue para crear archivos de texto para los comandos. Algunos comandos aquí se envuelven en dos líneas aquí en Medio, pero son una sola línea de comando. El texto en negrita son los comandos.

Configurar una cuenta de AWS
Vaya a https://aws.amazon.com/free
Seleccione “Crear una cuenta de AWS”.
Confirma la cuenta, ingresa la información de facturación
Regístrese para obtener la cuenta con su tarjeta de crédito. Las pruebas y el uso básicos pueden ser gratuitos durante los primeros 12 meses (como el uso de una instancia t2.micro).

Lanzar Qtum AMI Instance
Cree una nueva carpeta “AWS” en el escritorio
Inicie sesión en su cuenta de AWS
Vaya a https://aws.amazon.com/marketplace/pp/QTum-Qtum-AMI/B07FB214D3
Seleccione una región
Deje el tipo de instancia de Qtum AMI configurado en el t2.small recomendado
Seleccione “Continuar para suscribirse”
En la página “Suscribirse a este software”, seleccione “Continuar con la configuración”
En la página “Configurar este software”, seleccione Región
Seleccione “Continuar con el lanzamiento”
En la página “Iniciar este software”, desplácese hacia abajo hasta Configuración del grupo de seguridad y seleccione “Crear nuevo basado en la configuración del vendedor”.
En el campo “Nombre su grupo de seguridad”, ingrese “Qtum AMI”
En el campo “Descripción” ingrese “Grupo de seguridad para Qtum AMI”
Tenga en cuenta que esto habilita el puerto SSH 22 y el puerto Qtum 3888 para TCP (mainnet).
Seleccione “Guardar”
En “Configuración del par de claves”, seleccione “Crear un par de claves en EC2”.
En la página de pares de claves, tenga en cuenta que está configurado para la región correcta (Londres) y seleccione “Crear par de claves”.
En la página “Crear par de claves” en el campo de nombre, ingrese un nombre “región-AAAA-MM-DD”
Seleccione el formato de archivo “pem” para usar con OpenSSH
Seleccione “Crear par de claves”
Se descargará el archivo de par de claves. Guárdelo en la carpeta del escritorio “AWS”
De vuelta en la pestaña del mercado de AWS, en el formulario “Configuración del par de claves”, seleccione el botón Actualizar para ver el archivo del par de claves recién creado.
Para iniciar la instancia, seleccione “Iniciar”
Ahora tiene un VPS con Qtum instalado ejecutándose en el centro de datos de Amazon
En la página “Iniciar este software”, seleccione para ver la instancia en la “Consola EC2”
Se iniciará la Consola EC2. Marca esta pagina.
En el lado izquierdo, desplácese hacia abajo hasta “Red y seguridad” y seleccione “Grupos de seguridad”. Seleccione la AMI de Qtum, luego “Acciones” y “Editar reglas de entrada”
Para Qtum testnet, edite el puerto “3888” a “13888” y la descripción “testnet”. Seleccione “Guardar reglas”
En el lado izquierdo, desplácese hacia arriba y seleccione “EC2 Dashboard”, luego “Instancias (en ejecución)”
En la columna “ID de instancia”, haga clic en el ID “i-nnnnnn …” para ver los detalles de la instancia
Conéctese a la instancia desde nuestra consola local de Windows PowerShell
Seleccione “Conectar” y en la página “Conectar a la instancia” seleccione “Cliente SSH”
Copie el ejemplo del paso 4 y péguelo en este archivo:
(actualizar aquí)
Edite el comando SSH para agregar la ruta de Windows “C: \ Users \ <nombre de usuario> \ Desktop \ AWS \” al nombre del archivo y cambie el usuario a “ubuntu”
(actualizar aquí)
En el menú Inicio de Windows, seleccione “Windows PowerShell”
Pegue el comando SSH en PowerShell y presione enter y luego ingrese “sí”. Inicia sesión en / home / ubuntu
Paquetes de actualización: actualice a la última versión de Qtum
actualización de sudo apt
actualización de sudo apt -y

Configurar qtumd como un super staker
Se supone que la instancia se está ejecutando con qtumd actualizado y conectado mediante SSH mediante PowerShell. Usando testnet, omita “-testnet” para usar estos comandos para mainnet.
Inicie cmd como un super staker con la configuración predeterminada:
qtumd -testnet -daemon -superstaking -stakingminfee=10 -stakingminutxovalue=100 -reindex
Vea la salida del archivo de registro de depuración:
tail -f .qtum/testnet3/debug.log
Ctrl-C para salir
Para agregar la primera conexión de igual, si es necesario:
qtum-cli -testnet addnode qtum4.dynu.net:13888 add
Sobre el uso de mainnet:
qtum-cli addnode qtum5.dynu.net:3888 add
qtumd se está sincronizando, puede tardar una o dos horas
Deje que la billetera se sincronice completamente, “progreso = 1.000000”
Verifique la información de la billetera:
qtum-cli -testnet -getinfo
Obtenga la dirección (ingrese su propia dirección a continuación):
qtum-cli -testnet getnewaddress
Encriptar billetera (use su propia frase de contraseña):
qtum-cli -testnet encryptwallet ”utilice siempre una frase de contraseña larga y segura”
Haga una copia de seguridad de la billetera, guardando una copia del archivo wallet.dat en su computadora local usando WinSCP
Enviar 1001 testnet QTUM
Compruebe el UTXO:
qtum-cli -testnet listunspent
Desbloquee completamente la billetera durante 5 minutos:
qtum-cli -testnet walletpassphrase “”siempre use una contraseña larga y segura” 600
Divida UTXOS en 100:
qtum-cli -testnet splitutxosforaddress “completar” 100 200
Verifique las UTXO:
qtum-cli -testnet listunspent
Desbloquea la billetera solo para staking:
qtum-cli -testnet walletpassphrase “siempre use una contraseña larga y segura” 99999999 verdadero
Recibir delegación, verificar delegación:
qtum-cli -testnet getdelegationsforstaker “complete”
Monitoreando al staker
Después de 500 confirmaciones para los UTXO del staker, getstakinginfo mostrará que el staking es “verdadero”. Después de 500 confirmaciones para UTXO delegadas, también comenzarán a apostar:
qtum-cli -testnet getwalletinfo
qtum-cli -testnet getstakinginfo
(espere 18 horas para que maduren las monedas, vuelva a verificar)
- — — — — — — — — -
Deteniendo la billetera:
qtum-cli -testnet stop
Reinicie la billetera, no se requiere “-reindex”:
qtumd -testnet -daemon -superstaking -stakingminfee=10 -stakingminutxovalue=100
- — — — — — — — — -
Puede salir de la sesión SSH y qtumd seguirá funcionando. Salga de la sesión SSH:
salida
Deteniendo la instancia, en el Panel de instancias, seleccione el menú desplegable Estado de la instancia y elija “Detener instancia” y confirme con “Detener”. También puede Terminar la instancia si ya no desea usarla.
Ubicación de los archivos de programa de Qtum: / usr / local / bin
Ubicación del directorio de datos de Qtum: /home/ubuntu/.qtum
- — — — — — — — — — -
Limpieza de seguridad
Copie o mueva la carpeta de AWS a una o más unidades de memoria USB para hacer una copia de seguridad del archivo .pem y el archivo wallet.dat.
Puede recibir una advertencia de clave privada si utiliza una segunda cuenta para iniciar sesión en AWS. Mueva el archivo AWS al escritorio de la cuenta principal, o (más difícil) cambie los permisos en una copia del archivo .pem (clic derecho — Propiedades — Seguridad — Avanzado — Deshabilitar herencia)

Comandos WinSCP
1. Install WinSCP from https://winscp.net/eng/download.php
2. Inicie WinSCP. Aparecerá el diálogo de inicio de sesión. En el diálogo:
3. Asegúrese de que el nodo Nuevo esté seleccionado.
4. En el nodo Nuevo, asegúrese de que esté seleccionado el protocolo SFTP.
5. Ingrese el nombre de DSN público de su instancia EC2 (complete) de la instancia en el cuadro Nombre de host.
6. El nombre de usuario difiere según el tipo de instancia:
Para una AMI de Ubuntu, el nombre de usuario es ubuntu.
7. Presione el botón Avanzado para abrir el cuadro de diálogo Configuración avanzada y vaya a la página SSH> Autenticación.
8. En el cuadro de Archivo de clave privada, seleccione el archivo de clave privada .pem. WinSCP deberá convertir la clave a su formato .ppk (luego puede usar la clave .ppk convertida, por ejemplo, con el cliente PuTTY SSH).
9. Envíe el cuadro de diálogo Configuración avanzada del sitio con el botón Aceptar.
10. Guarde la configuración de su sitio con el botón Guardar.
11. Inicie sesión con el botón Iniciar sesión.
12. Vaya a Configuración, Paneles y habilite Mostrar archivos ocultos.
13. En el panel derecho (AWS) navegue hasta /home/ubuntu/.qtum/testnet3/wallets
(omita testnet3 para mainnet)
14. En el panel izquierdo (PC local) navegue hasta \ Users \ <nombre de usuario> \ Desktop \ AWS
15. Arrastre el archivo wallet.dat del lado derecho al lado izquierdo.
16. Hecho. Mejor práctica: restaure la billetera en una máquina local y verifique la dirección.

Recompensa de bloque
Han pasado varios días y el Staker recibió una recompensa en bloque por sus UTXO.
Logged into AWS
qtum-cli -testnet -getinfo
36 conexiones desde que el puerto 13888 está abierto
para conexiones entrantes. Sin esto
el valor predeterminado serán 10 conexiones que
también funciona bien.
nota el stake ahora
qtum-cli -testnet getstakinginfo
También podemos monitorear el staker en el explorador qtum.info
Ver el bloque publicado, el stake actual, etc.