Ejecutar un nodo

Esta guía lo guía a través del proceso de configuración de un nodo para unirse a la red pública de Bitxor.

Puede experimentar con seguridad conectándose a la red de Bitxor conectándose a la red de prueba (testnet) en lugar de a la red pública principal (mainnet). Sin embargo, Testnet puede estar fuera de línea o ser reemplazado sin previo aviso porque se usa ampliamente para fines de prueba. Para trabajar en una red de entorno privado, instale una red local con fines de aprendizaje y desarrollo en su lugar.

Para ejecutar la red, utilizará el paquete Bitxor Bootstrap. Para comprender mejor cómo funciona este paquete, se recomienda leer la guía Using Bitxor Bootstrap.

Requisitos de hardware

Ejecutar un nodo de cadena de bloques es muy exigente en términos de requisitos de espacio en disco, memoria y CPU. El incumplimiento de los siguientes requisitos mínimos producirá un nodo que tendrá dificultades para mantenerse al día con el resto de la red. La cadena de bloques global no se verá afectada, pero el nodo rara vez será elegible para cobrar recompensas de nodo.

Note

Se recomienda enfáticamente usar CPU y RAM dedicados. Cuando se comparten (como es el caso de algunos proveedores de servidores virtuales), el rendimiento se ve muy afectado.

Especificaciones mínimas de nodos

Requisito

Nodo par

Nodo API

Nodo dual y de votación

CPU

2 cores

4 cores

4 cores

RAM

8GB

16GB

16GB

Disk size

500 GB

750 GB

750 GB

Disk speed

1500 IOPS SSD

1500 IOPS SSD

1500 IOPS SSD

La siguiente tabla muestra los requisitos recomendados. El uso de estos proporcionará una experiencia mucho más fluida y proporcionará un cierto grado de prueba futura.

Especificaciones de nodo recomendadas

Requisito

Nodo par

Nodo API

Nodo dual y de votación

CPU

4 cores

8 cores

8 cores

RAM

16GB

32GB

32GB

Disk size

500 GB

750 GB

750 GB

Disk speed

1500 IOPS SSD

1500 IOPS SSD

1500 IOPS SSD

Los ajustes preestablecidos testnet y mainnet

Bitxor Bootstrap tiene ajustes preestablecidos llamados testnet y mainnet que instancian un nodo que se conecta a la red pública apropiada. Las capacidades particulares de este nodo se seleccionan a través de la opción ensamblaje.

Esta guía usa testnet como ejemplo, pero no dude en cambiarlo a mainnet.

Para crear un nodo par:

Los nodos pares, también llamados nodos cosechadores, son la columna vertebral de la red. Entre otras cosas, verifican las transacciones y agregan nuevos bloques a la cadena de bloques, cobrando tarifas en el proceso.

bitxor-bootstrap start -p testnet -a peer

Para crear un nodo API:

API nodes proporcionar acceso externo a la red a través de una API REST.

bitxor-bootstrap start -p testnet -a api

Para comprobar que el nodo está funcionando, abra una nueva pestaña del navegador y vaya a localhost:3000/chain/info. Debería obtener una respuesta del nodo API.

Los nodos API ocupan más memoria y almacenamiento que los nodos Peer. Si tiene limitaciones de memoria o almacenamiento y tiene problemas, se recomienda que cambie a ejecutar un nodo solo de pares en su lugar.

Para crear un nodo dual:

Los nodos duales proporcionan la funcionalidad de los nodos Peer y API.

bitxor-bootstrap start -p testnet -a dual

Ejecutando el nodo

Realmente no necesitas usar nada más que bitxor-bootstrap start. Utilice cualquiera de los comandos anteriores para crear una instancia y arrancar un |nombre en clave| node y Ctrl+C para apagarlo.

Alternativamente, puede comenzar en modo separado (--tachado) para ejecutarse en segundo plano.

Note

Tras el primer lanzamiento, el nodo se sincronizará con el resto de la red, descargando la cadena de bloques completa. Esto puede demorar algunas horas y, durante este tiempo, las solicitudes REST dirigidas a su nodo (si es un nodo API) pueden demorarse e informar una altura de cadena incorrecta.

Recuperando la cuenta del nodo

El nodo que acaba de crear tiene un |nombre en clave| asociado. cuenta que puede utilizar para interactuar con el nodo. Por ejemplo, necesita esta cuenta para proporcionar fondos al nodo para que pueda emitir transacciones.

Las claves y direcciones de la cuenta se pueden recuperar de un archivo de texto en la carpeta destino llamada destino/direcciones.yml.

Este archivo tiene formato YAML y se ve así:

networkType: 152
genesisGenerationHashSeed: 1082491EFE93AA7DAC6D0282634953DB8B5FDDAE669237B030695A9F308883D5
nodes:
    -
        name: peer-node-0
        friendlyName: peer-node-0
        roles: 'Peer,Voting'
        main:
            # Use these to access the node's account
            privateKey: ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
            publicKey: E8A918BD78C0D9CFA8D0B53BB721E62925ACB4BF92068533A3D94210D01E1D39
            address: TBMXGFREJRVWJY756BVHLJAHZCOP3BW53ALFYOY
        transport:
            # Use these in Delegated Harvesting requests
            privateKey: ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
            publicKey: 7C63AF4CECE2690944FAFE3D9D52EB400447F30CCAC185BC9BE5D54CF536DDE3
            address: TBTRVMCJ7TEZNCV74IX3INJHGAOLMQOU2JQEX7Y
        remote:
            privateKey: ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
            publicKey: 6B1936560F85096E398AAF4647EADB6C748100E6D248D98B2916F003B806E725
            address: TDN3G4REJA7BWDQ2TLB3M522RAYKV5AB55EEPGQ
        voting:
            privateKey: ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
            publicKey: E97B99E7EDE0738CBE2C3BB13F3B0EEB8A361FAAD51271887D12389F1AEEF4EC
            address: TBBK644JF2XMW35A7BUG6SADTLHAQ2M2KO7O2FQ
        vrf:
            privateKey: ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
            publicKey: B304E6F9650CFFA52C6DC51CED29397F6C50F1E2F9AC34993549E0E3E4461027
            address: TABWAGQNSI4AWPE3IVGS53CQWAN5BYRM5BHMNFA

Use la información en la sección principal para acceder a la cuenta del nodo. Al activar cosecha delegada, use la información en la sección transporte como la clave TLS pública del nodo.

Proporcionar fondos al nodo

Antes de que el nodo pueda comenzar a recolectar o votar (ver más abajo), necesita una cantidad mínima de fondos. En el entorno de prueba testnet, puede usar Faucet de Bitxor para proporcionar estos fondos.

Vaya a faucet, inserte la dirección de la cuenta de su nodo y la cantidad de bitxor necesita y haga clic en RECLAMAR.

Verá que su solicitud está primero no confirmada (pendiente) y después de unos segundos se convierte en confirmada. ¡Su nodo ahora está financiado y listo para operar!

Envío de claves de enlace

Los nodos Cosecha y Votación requieren un paso de configuración adicional antes de que puedan usarse:

Habilitación de la recolección

Bitxor Bootstrap crea nodos pares con recolección remota habilitada de forma predeterminada, pero aún deben registrarse anunciando la AccountKeyLinkTransaction y VrfKeyLinkTransaction a la red.

Esto se puede hacer mediante Bitxor Bootstrap también, pero debe estar un paso separado de inicio bitxor-bootstrap porque se requieren fondos para anunciar transacciones.

Una vez que el nodo se esté ejecutando con bitxor-bootstrap start y haya financiado su cuenta, desde una terminal diferente (pero desde la misma carpeta), simplemente escriba:

bitxor-bootstrap link

Esto crea las transacciones VrfKeyLinkTransaction requeridas y las anuncia a la red. Si tiene éxito (puede tomar algunos segundos, ya que la transacción debe confirmarse), su nuevo nodo está listo para recolectar.

Note

Sin parámetros adicionales, bitxor-bootstrap link intenta enviar la transacción de registro al nodo local (que se ejecuta en el otro terminal) que la reenviará al resto de la red. Si su nodo no se está ejecutando en este momento, o no es un nodo API, puede usar el parámetro --useKnownRestGateways, o proporcionar la URL de otro nodo usando --url (use el Bitxor Explorer para encontrar la lista de nodos actuales en testnet o mainnet).

Habilitación de la votación

El proceso de block finalization requiere que algunos nodos de la red voten sobre la corrección de los bloques antes de que se agreguen definitivamente a la cadena de bloques. Para que su nuevo nodo participe (y recolecte recompensas de votación), debe registrarse como votante anunciando una transacción de enlace clave de votación en la red. Bitxor Bootstrap puede encargarse de esto también.

Note

Vamos a crear un nuevo nodo de votación. Si ya creó un nodo sin votación que ya no necesita, puede eliminar la carpeta target o, más convenientemente, usar el interruptor --reset la próxima vez que invoque ``bitxor-bootstrap` `.

Primero, debe configurar el nodo como votante, por lo que, además de seleccionar el ajuste preestablecido y el ensamblaje deseados, debe proporcionar un archivo de ajuste preestablecido personalizado con el siguiente contenido:

nodes:
- voting: true

Entonces, si llama al archivo anterior enable-voting-preset.yml, el comando completo sería:

bitxor-bootstrap start -p testnet -a <assembly> -c enable-voting-preset.yml

Una vez que el nodo se está ejecutando, desde una terminal diferente (pero desde la misma carpeta), simplemente escriba:

bitxor-bootstrap link

Al igual que en el caso de la recolección, esto crea la VotingKeyLinkTransaction requerida y la envía a la red. Una vez completado con éxito, su nuevo nodo está listo para votar.

Por lo tanto, ejecutar los comandos anteriores una vez al mes garantiza que sus claves de votación estarán siempre actualizadas.

⚠️ Si no renueva a tiempo, su nodo dejar de votar. Su cuenta no recibirá ninguna recompensa de votación hasta que se renueven sus claves.

Ejecutar un nodo seguro

Es posible configurar un nodo de tal manera que las claves privadas nunca se almacenen en texto sin formato en una computadora conectada a Internet. Lea sobre esto en Ejecutar un nodo seguro.

Configuración de las propiedades del nodo

Siga la guía Configuring node properties para cambiar parámetros como el nombre público del nodo.

Interactuando con la red

Puede utilizar las siguientes herramientas para probar la funcionalidad de su nuevo nodo:

  • Blockchain Explorer (MAINNET and TESTNET): busque transacciones, cuentas, activos y bloques en la red.

  • Desktop Wallet: Cliente multiplataforma para Bitxor. Disponible para Mac, Linux y Windows.

  • Command-Line Interface: Ejecute las acciones más utilizadas desde su terminal.

  • El Bitxor faucet: Recibir bitxor unidades para probar los servicios de Bitxor.

Próximos pasos

Ahora que su nodo está en funcionamiento, puede consultar las siguientes guías: