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.
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.
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 |
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.
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 |
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
.
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
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.
Los nodos duales proporcionan la funcionalidad de los nodos Peer y API.
bitxor-bootstrap start -p testnet -a dual
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.
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.
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!
Los nodos Cosecha y Votación requieren un paso de configuración adicional antes de que puedan usarse:
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).
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.
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.
Siga la guía Configuring node properties para cambiar parámetros como el nombre público del nodo.
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.
Ahora que su nodo está en funcionamiento, puede consultar las siguientes guías: