Skip to content

Cómo Configurar un Nodo Productor de Bloques de WAX en la Red de Pruebas

Proporcionar servicios de API y de semilla son fundamentales para ser parte del Ecosistema de Proveedores de Servicios de WAX, sin embargo, para ser recompensado por tus esfuerzos y participar en la gobernanza de la cadena, necesitarás convertirte en un Productor de Bloques de la Red de Pruebas de WAX.

Esta guía te mostrará cómo configurar un Nodo Productor de Bloques de la Red de Pruebas de WAX y registrar tu cuenta como Productor de Bloques de la Red de Pruebas de WAX.

Este artículo se ha actualizado para incorporar el proceso de construcción de software Leap de Antelope.

Entorno

Existe un consenso entre los Productores de Bloques de que la mejor práctica para cualquier implementación de producción de Antelope es que cada nodo sirva una función específica. En particular, el Nodo Productor de Bloques no debe ser accesible públicamente ni utilizarse como una API o semilla pública.

En este ejemplo, tendremos tres nodos diferentes que sirven funciones específicas:

Nodo de API Pública y Semilla
Este es el nodo creado en el Primer Artículo de Cómo Hacer de WAX y se utilizará para proporcionar servicios de API pública y semilla.
Debe sincronizarse con el último bloque principal de la Red de Pruebas de WAX.

Nodo Productor de Bloques
Este es el nodo utilizado para firmar bloques de forma segura en la Red de Pruebas de WAX y es el principal nodo de producción adicional en este ejemplo.
Debe sincronizarse con el último bloque principal de la Red de Pruebas de WAX.

Además de configurar la última lista de pares confiables publicada por EOSNation, es una buena idea permitir que se conecte a tu propio Nodo de Semilla Pública o solo Bloques.

Nodo de Interfaz Cleos
Este nodo es completamente privado y se utiliza para interactuar con la Red de Pruebas pública a través de la línea de comandos. Ubuntu Terminal / MacOS Terminal / Windows Ubuntu Shell son excelentes sistemas operativos livianos para ejecutar esta interfaz privada.

Se utilizan dos aplicaciones incluidas en el software de WAX: cleos, que es la interfaz de línea de comandos para el software de WAX, y keosd, que es básicamente un servicio demonio de billetera / gestor de claves para almacenar claves privadas y firmar mensajes digitales. Puedes encontrar los binarios del software de WAX aquí: ~/wax-leap/build/programs/.

Dado que importarás tus claves privadas en keosd, es importante que este nodo esté seguro y se trate como privado.

cleos utiliza tus claves importadas en keosd como autoridad para ejecutar acciones privilegiadas en la red a través de una API que se ejecuta en nodeos.

La relación entre las aplicaciones del software de WAX se muestra en el diagrama anterior.

Se debe tener en cuenta que ha habido algunos casos informados de consultas de API / acciones que no funcionan como se espera al intentar usar versiones antiguas de cleos y keosd con un nodo Leap 3.x actualizado. Se recomienda asegurarse de usar la versión 3.x de cleos y keosd con nodos Leap 3.x.

Obtener una Cuenta de la Red de Pruebas

Un Productor de Bloques de la Red de Pruebas de WAX requiere una cuenta que se creará y usará para registrar la intención de convertirse en un productor que los titulares de tokens puedan votar.

Hay un costo en Tokens de la Red de Pruebas de WAX asociado con el registro de una cuenta, sin embargo, necesitas una cuenta para mantener los tokens. Esto podría ser problemático... pero hay un creador de cuentas y faucet de la Red de Pruebas de WAX muy útil proporcionado por WAX Sweden que se puede utilizar para crear fácilmente tu primera cuenta y llenarla con Tokens de la Red de Pruebas de WAX.

Ejecuta las siguientes solicitudes curl en tu nodo Cleos para crear y financiar tu cuenta, obviamente suplementando con el nombre de cuenta deseado:

> curl https://faucet.waxsweden.org/create_account?eospherewoot

{"msg": "succeeded", "keys": {"active_key": {"public": "EOS8PSfvq342YTVtogNVskjCttpx1rQX9JT59wQuLt2Nkz16ZmsL4", "private": "5JZsTE4LzwbHKLX25n3D4gSYVtB5AxyDgGGrUPaMWpAmbWveu72"}, "owner_key": {"public": "EOS7gjEzaYfd9FeSU8BzREgrLQz4QwizFfsKDJtgswCwwyhgX6dqa", "private": "5J7zm5kfBkhhuSnzxxxxxxxxxxxxxxxxxxxxxxnmi73eh8ANLzpB"}}, "account": "eospherewoot"}

> curl https://faucet.waxsweden.org/get_token?eospherewoot

{"msg": "succeeded"}

Se te presentarán dos pares de claves, active_key y owner_key... guarda ambos pares de manera segura, en este ejemplo utilizaremos active_key.

Importar tu clave de cuenta a keosd

Ahora que tenemos una cuenta, importémosla a una billetera keosd para que podamos usarla con cleos.

En tu nodo Cleos, crea una billetera de la Red de Pruebas de WAX e importa tu clave de cuenta:

> cleos wallet create -n waxtestnet --to-console

Creating wallet: waxtestnet

Save password to use in the future to unlock this wallet.  
Without password imported keys will not be retrievable.  
"PW5JoPmniazjAH3RTx4gcR5njKvPP6or8k7VzXu8ffGwwsFxqSGYN"

keosd se inicia automáticamente (es posible que debas asegurarte de que está en la ruta local)... luego se crea la billetera. Esta contraseña es para tu billetera local llamada waxtestnet, mantenla segura. Por defecto, las billeteras se almacenan aquí: ~/eosio-wallet.

Importa tu clave de cuenta activa:

# Desbloquea tu billetera con la contraseña de antes
> cleos wallet unlock -n waxtestnet  
password: Unlocked: waxtestnet

# Importa tu active_key: private
> cleos wallet import -n waxtestnet  
private key: imported private key for: EOS8PSfvq342YTVtogNVskjCttpx1rQX9JT59wQuLt2Nkz16ZmsL4

Configurar el Nodo Productor de Bloques

Como se mencionó anteriormente, el Nodo Productor de Bloques necesita una configuración específica que permita la firma de bloques.

En primer lugar, necesitamos un par de claves específicamente para el uso de firma, que se puede lograr utilizando el nodo Cleos:

> cleos create key --to-console  
Private key: 5JVfLEuHuoVkEX6CyScPHNLgxtRdUcdLp3hqzrXC54xVjtESFXX  
Public key: EOS6HWBC39JAXaRo5aG5yAcAjgQYhQ44T5GtcxJVbZFZox6FFa15k

A continuación, configura el archivo config.ini en tu Nodo Productor de Bloques con las siguientes adiciones específicas para la producción de bloques de tu implementación:

# Este es el nombre de tu cuenta de BP  
producer-name = eospherewoot

# Este es tu par de claves para firmar bloques  
signature-provider = EOS6HWBC39JAXaRo5aG5yAcAjgQYhQ44T5GtcxJVbZFZox6FFa15k=KEY:5JVfLEuHuoVkEX6CyScPHNLgxtRdUcdLp3hqzrXC54xVjtESFXX

# Optimiza el proceso de entrega anticipada produciendo un poco antes  
last-block-time-offset-us = -200000

# Reduce el es

fuerzo de la CPU disponible en el último bloque para una mejor entrega  
last-block-cpu-effort-percent = 20

# Habilita la producción de bloques en este nodo  
plugin = eosio::producer_plugin

Ahora reinicia nodeos en tu Nodo Productor de Bloques y asegúrate de que alcance el último bloque principal.

> cleos -u https://wax-testnet.eosphere.io get info

{  
  "server_version": "b5344cde",  
  "chain_id": "f16b1833c747c43682f4386fca9cbb327929334a762755ebec17f6f23c9b8a12",  
  "head_block_num": 111813838,  
  "last_irreversible_block_num": 111813507,  
  "last_irreversible_block_id": "06aa23838410642de5d297e95a410d68ab9076028fa444c464c48172031f364d",  
  "head_block_id": "06aa24cea654e6250d87e41872f6754000c60226e9a490803186497e0ad70609",  
  "head_block_time": "2021-09-16T05:17:33.000",  
  "head_block_producer": "blacklusionx",  
  "virtual_block_cpu_limit": 200000000,  
  "virtual_block_net_limit": 1048576000,  
  "block_cpu_limit": 199900,  
  "block_net_limit": 1048576,  
  "server_version_string": "v2.0.12wax01",  
  "fork_db_head_block_num": 111813838,  
  "fork_db_head_block_id": "06aa24cea654e6250d87e41872f6754000c60226e9a490803186497e0ad70609",  
  "server_full_version_string": "v2.0.12wax01-b5344cde06837726fef9e384fcedc207dcf6b160"  
}

Registrando tu Cuenta de Productor de Bloques

Ahora que estás seguro de que todo está correctamente configurado y tus nodos están sincronizados con la red, puedes registrar tu intención de firmar bloques y permitir que los titulares de tokens voten por ti.

Antes de ejecutar la acción regproducer, ahora probablemente sea un buen momento para publicar tu intención al resto de la Comunidad de la Red de Pruebas de WAX.

Hay un Grupo de Telegram de la Red de Pruebas de WAX donde puedes interactuar con otros Productores de Bloques, Proveedores de Servicios y constructores de DApp.

Recientemente se ha realizado algunas pruebas en relación con la entrega óptima de bloques entre los nodos de producción de bloques en todo el mundo, si informas en el Telegram de dónde está ubicado tu Nodo en el mundo, uno de los BP de la Red de Pruebas te asignará un número de ubicación que ayuda a la red.

Además, necesitarás ser votado en el puesto #21 para poder producir bloques, el Grupo de Telegram es el lugar para solicitar estos votos también.

Ejecuta la acción regproducer como se muestra a continuación con tus detalles específicos:

# El último número es tu número de ubicación asignado
> cleos -u [https://wax-testnet.eosphere.io](https://wax-testnet.eosphere.io/) system regproducer eospherewoot EOS6HWBC39JAXaRo5aG5yAcAjgQYhQ44T5GtcxJVbZFZox6FFa15k [https://www.eosphere.io](https://www.eosphere.io/) 21

Como la acción se ejecuta a nivel de blockchain, en realidad puedes apuntar tu solicitud a cualquier API de la red de prueba sincronizada, es decir, no necesitas ejecutar esta acción en tus propios nodos.

Si/ cuando hayas sido votado en el top #21, la salida de tu nodeos se verá algo así durante 12 bloques en una ronda:

info  2021-09-16T05:36:01.541 nodeos    producer_plugin.cpp:377       on_incoming_block    ] Received block e23bca90f0e6bc3d... #111816053 @ 2021-09-16T05:36:01.500 signed by eospherewoot [trxs: 0, lib: 111815725, conf: 0, latency: 41 ms]
info  2021-09-16T05:36:02.042 nodeos    producer_plugin.cpp:377       on_incoming_block    ] Received block c6d4ac08300ed117... #111816054 @ 2021-09-16T05:36:02.000 signed by eospherewoot [trxs: 0, lib: 111815725, conf: 0, latency: 42 ms]

Estas Guías Técnicas para Desarrolladores de WAX se crean utilizando material fuente de la Serie Técnica de WAX de EOSphere

Asegúrate de hacer cualquier pregunta en el Telegram de EOSphere