CΓ³mo ejecutar un nodo Bitxor con mayor seguridad.

Ejecutar un nodo seguro

La guΓ­a Ejecutar un nodo explica cΓ³mo crear fΓ‘cilmente un nodo usando Bitxor Bootstrap. En esa guΓ­a, el proceso de configuraciΓ³n se lleva a cabo en la misma mΓ‘quina que albergarΓ‘ el nodo, lo que significa que las claves privadas se generan en una mΓ‘quina conectada a Internet. Si necesita un nivel reforzado de seguridad, puede seguir esta guΓ­a, a costa de un proceso de configuraciΓ³n mΓ‘s complejo.

El resumen de esto es que el comando bitxor-bootstrap start se divide en una fase config que se ejecuta sin conexiΓ³n, lo que genera una carpeta de configuraciΓ³n, y el resto del comando start luego se ejecuta en la mΓ‘quina en lΓ­nea de destino que albergarΓ‘ el nodo. La clave privada de la cuenta principal nunca sale de la mΓ‘quina sin conexiΓ³n.

Machine

Function

Configuration

  • Online to install software, then offline.

  • Creates configuration files.

  • Prepares setup transactions.

Node

  • Permanently online.

  • Runs the node.

  • Announces the setup transactions.

Un nodo tambiΓ©n se puede configurar de tal manera que todas las recompensas de recolecciΓ³n vayan a una cuenta externa sin requerir la clave privada de esta cuenta. Esto se conoce como una configuraciΓ³n sin custodia y debe configurarse una vez que el nodo estΓ© en funcionamiento, por lo que al final de esta pΓ‘gina se proporciona un puntero a la guΓ­a adecuada.

MΓ‘quina de configuraciΓ³n

ConfiguraciΓ³n

En la mΓ‘quina de configuraciΓ³n, mientras aΓΊn estΓ‘ en lΓ­nea:

  • Instala Bitxor Bootstrap como se indica en la guΓ­a Uso de Bitxor Bootstrap. AsegΓΊrese de leer tambiΓ©n la secciΓ³n ConfiguraciΓ³n de esa guΓ­a para familiarizarse con los ajustes preestablecidos y los ensamblajes.

  • Instale Bitxor CLI como se indica en la guΓ­a bitxor-cli. Solo necesitas ejecutar:

    npm install --global bitxor-cli
    
  • Ejecute Bitxor Bootstrap por primera vez, para que pueda descargar las imΓ‘genes de Docker requeridas:

    bitxor-bootstrap config -p mainnet -a <assembly> --noPassword
    rm -rf target
    

    El resultado de esta primera ejecuciΓ³n es irrelevante, por eso se usa --noPassword y se elimina la carpeta target.

  • Desconecte la mΓ‘quina de configuraciΓ³n de Internet ya que las claves privadas se generarΓ‘n en esta mΓ‘quina desde este punto.

Create configuration

Perfil

Crea el perfil de la cuenta principal. Esta es la cuenta que recibirΓ‘ todas las tarifas de recolecciΓ³n y cuya puntuaciΓ³n de importancia se utilizarΓ‘ al recolectar.

El propΓ³sito de esta guΓ­a es asegurarse de que la clave privada de esta cuenta nunca se use en una mΓ‘quina en lΓ­nea.

Este paso crearΓ‘ un perfil bitxor-cli para mantener la cuenta principal y firmar transacciones utilizando su clave privada. La mΓ‘quina estΓ‘ fuera de lΓ­nea ahora, por lo que debe proporcionar algunos datos relacionados con la red.

Note

Los siguientes comandos asumen que desea crear una nueva cuenta principal y usar el comando profile create. Si ya tiene una cuenta que le gustarΓ­a usar como principal, use el comando importar perfil en su lugar.

bitxor-cli profile create --profile offline-main --default \
   --url http://localhost:3000 --network MAIN_NET \
   --generation-hash 57F7DA205008026C776CB6AED843393F04CD458E0AA2D9F1D5F31A402072B2D6 \
   --namespace-id bitxor --divisibility 6 \
   --epoch-adjustment 1615853185

Cuando se le solicite, ingrese una contraseΓ±a para proteger su perfil y seleccione el tipo de importaciΓ³n PrivateKey:

βœ” Enter your wallet password: … *********
βœ” Select an import type: β€Ί PrivateKey

Account
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Property      β”‚ Value                                                                β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Address       β”‚ NCCE5O-BMZHWM-IYZKR6-4WZKFD-4P7DTS-IRXJZ2-3LI                        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Public Key    β”‚ 51C2CB98B61D666A993FA9B25EEBCB48DE5F0B1B7D8B79ECB7AFCB1E5E601108     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Private Key   β”‚ ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●     β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Password      β”‚ ●●●●●●●●●                                                            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

SUCCESS Stored offline-main profile

bitxor-cli ahora estΓ‘ listo para usarse mΓ‘s adelante. Todas las transacciones serΓ‘n firmadas por su cuenta principal, asΓ­ que asegΓΊrese de que tenga fondos para pagar el Tarifas.

Toma nota de la clave privada de la cuenta principal y guΓ‘rdala en un lugar seguro.

Preestablecido

Cree un archivo preestablecido personalizado para Bitxor Bootstrap y asΓ­gnele el nombre custom.yml. Debe incluir, al menos, estas lΓ­neas:

privateKeySecurityMode: PROMPT_MAIN
nodes:
-
  mainPrivateKey: ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●

Puede leer mΓ‘s sobre estas propiedades en la secciΓ³n `modo de seguridad <https://github.com/fboucquez/bitxor-bootstrap/blob/main/docs/presetGuides.md#user-content-private-key-security-mode> `__ en la documentaciΓ³n de Bitxor Bootstrap.

Si tiene que realizar personalizaciones, como habilitar voting, tambiΓ©n puede proporcionarlas:

privateKeySecurityMode: PROMPT_MAIN
nodes:
-
  mainPrivateKey: ●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
  voting: true
  host: my-bitxor-node.com # Could also be an IP address

Configurar

Ejecute Bitxor Bootstrap nuevamente, esta vez con todos los parΓ‘metros requeridos:

bitxor-bootstrap config -p mainnet -a <assembly> -c custom.yml

Se le pedirΓ‘ la contraseΓ±a que utilizarΓ‘ para cifrar los archivos de configuraciΓ³n.

? Enter password to use to encrypt and decrypt custom presets, addresses.yml,
  and preset.yml files. When providing a password, private keys will be
  encrypted. Keep this password in a secure place! ******
info     Password has been provided
info     Generating config from preset testnet
info     Assembly preset dual
info     Generating Main account...
info     Generating Transport account...
info     Generating Remote account...
info     Generating VRF account...
info     User for docker resolved: 1000:1000
info     Running image using Exec: bitxorplatform/bitxor-server:tools-gcc-0.10.1.8 bash createNodeCertificates.sh
info     Certificate for node api-node created
info     Generating api-node server configuration
info     Generating api-broker broker configuration
info     Non-voting node api-node.
info     Configuration generated.

Esto genera un directorio objetivo que contiene un archivo addresses.yml y mΓΊltiples archivos de configuraciΓ³n.

La clave privada de la cuenta principal no estΓ‘ presente en ninguno de estos archivos.

Vale la pena seΓ±alar que Bitxor Bootstrap habilita recolecciΓ³n remota de forma predeterminada, lo que significa que la clave privada principal nunca estΓ‘ disponible en un archivo de texto sin formato en el cliente. Solo estΓ‘ la clave remota, que actΓΊa como un proxy entre el nodo y su cuenta principal.

Copiar configuraciΓ³n

  • Abra custom.yml y elimine la lΓ­nea que contiene mainPrivateKey.

Ahora que Bitxor Bootstrap ya lo usΓ³ en la etapa config, no es necesario que una clave tan sensible estΓ© en un archivo de texto sin formato.

  • Copie todo el directorio objetivo en un pen drive (u otro soporte fuera de la red) para usarlo mΓ‘s tarde.

Preparar transacciones

TodavΓ­a en la mΓ‘quina de configuraciΓ³n fuera de lΓ­nea, ahora va a preparar una serie de transacciones de enlace manualmente. Estas transacciones serΓ‘n creadas por bitxor-cli, firmadas por su cuenta principal, y serΓ‘n movidas a una mΓ‘quina en lΓ­nea para ser anunciadas mΓ‘s adelante.

Todos los siguientes comandos usan --max-fee 1000000, lo que significa que se pagarΓ‘ 1 BXR por cada transacciΓ³n. SiΓ©ntase libre de usar un nΓΊmero diferente despuΓ©s de leer la documentaciΓ³n de fees.

Todas las transacciones tienen una fecha lΓ­mite, lo que significa que deben anunciarse (y confirmarse) antes de que expire la fecha lΓ­mite.

Actualmente existe una limitaciΓ³n en bitxor-cli que establece este plazo en 2 horas despuΓ©s de la creaciΓ³n de la transacciΓ³n, para todas las transacciones que no sean multigrado.

Enlace de llave remota

Obtenga la carga ΓΊtil AccountKeyLinkTransaction.

Esto vincula su cuenta principal a la cuenta remota utilizada para recolecciΓ³n remota. Bitxor Bootstrap generΓ³ esta cuenta para usted y puede encontrar su clave pΓΊblica en el archivo target/addresses.yml:

remote:
    publicKey: 1544FE6F504A8B8536C2407664916AFB5C917400FD1B941B981933CDFE52AE3F

En el siguiente parΓ‘metro --linked-public-key, use la clave pΓΊblica de la cuenta remota:

bitxor-cli transaction accountkeylink --max-fee 1000000 --mode normal \
   --linked-public-key 1544FE6F504A8B8536C2407664916AFB5C917400FD1B941B981933CDFE52AE3F \
   --action Link

Introduzca la contraseΓ±a que utilizΓ³ cuando creΓ³ el perfil bitxor-cli y no anuncie la transacciΓ³n (la mΓ‘quina estΓ‘ fuera de lΓ­nea).

βœ” Enter your wallet password: … *********
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                                 ACCOUNT_KEY_LINK                                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Max fee:      β”‚ 1,000,000                                                        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Network type: β”‚ TEST_NET                                                         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Deadline:     β”‚ 2021-03-27 10:41:41.286                                          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Action:       β”‚ Link                                                             β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Linked key:   β”‚ 1544FE6F504A8B8536C2407664916AFB5C917400FD1B941B981933CDFE52AE3F β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                Signature details                                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Payload:      β”‚ A10000000000000042E0E0A0B8D7E1F27805F3537F80BFEAB6FEAC318908C486 β”‚
β”‚               β”‚ 4D03260B83ED1D0332D6EA6E086A4B68C578DB690D78D50BDA5C706B1DC66472 β”‚
β”‚               β”‚ 9326511547E42E0FCC6D13D64FB9BF69B72846C3FE99127D48C3293F473D528F β”‚
β”‚               β”‚ B902600CB7DA10330000000001984C4140420F000000000026F54C1B0A000000 β”‚
β”‚               β”‚ 1544FE6F504A8B8536C2407664916AFB5C917400FD1B941B981933CDFE52AE3F β”‚
β”‚               β”‚ 01                                                               β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Hash:         β”‚ 08C63D3AFAC3767F43053AFF1ACA61381FE81929B2384B91C450010A547AFA4A β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Signer:       β”‚ CC6D13D64FB9BF69B72846C3FE99127D48C3293F473D528FB902600CB7DA1033 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
βœ” Do you want to announce this transaction? … no

Seleccione todo el texto en el cuadro Payload y pΓ©guelo en un nuevo archivo de texto llamado payloads.txt. Elimine todos los espacios y otras decoraciones para obtener una sola lΓ­nea que contenga solo nΓΊmeros y letras mayΓΊsculas:

A100000000000000703C88DEDC4ABC2917F00ADB12C45F2C333B1113405C3CFAB289E78D9C54DDFCB1FE7C3048B6DA735568A935C6C08AF7E70AEC614A2EE9590967A7A044E52B0DCC6D13D64FB9BF69B72846C3FE99127D48C3293F473D528FB902600CB7DA10330000000001984C4140420F000000000038F32C1B0A0000001544FE6F504A8B8536C2407664916AFB5C917400FD1B941B981933CDFE52AE3F01

enlace clave VRF

Obtain the VrfKeyLinkTransaction payload.

Esta clave es necesaria para la recolecciΓ³n.

Nuevamente, Bitxor Bootstrap ya ha generado esta clave para usted y puede encontrarla en el archivo target/addresses.yml:

vrf:
    publicKey: 856B6CCA574508158D66046CACEA2D81CB626DEEFDD3B6C466514CE31F32A52B

Use la clave pΓΊblica de la cuenta VRF en el parΓ‘metro --linked-public-key a continuaciΓ³n y no anuncie la transacciΓ³n (la mΓ‘quina estΓ‘ fuera de lΓ­nea):

bitxor-cli transaction vrfkeylink --max-fee 1000000 --mode normal \
   --linked-public-key 856B6CCA574508158D66046CACEA2D81CB626DEEFDD3B6C466514CE31F32A52B \
   --action Link

Nuevamente, copie el contenido del cuadro Payload, recΓ³rtelo y agrΓ©guelo a payloads.txt, en una nueva lΓ­nea.

Enlace clave de votaciΓ³n

Obtenga la carga ΓΊtil VotingKeyLinkTransaction.

Esta clave solo es necesaria para los nodos de votaciΓ³n.

Si agregΓ³ voting: true a custom.yml al crear la configuraciΓ³n, entonces Bitxor Bootstrap tambiΓ©n ha creado esta clave en target/addresses.yml: .. code-block:: yaml

voting:

publicKey: 05693B4300ABFD28CD6BA434DD26F9FAF2342927FE32840898DCB895B8A17E84

Use la clave pΓΊblica de la cuenta de votaciΓ³n en el parΓ‘metro --linked-public-key a continuaciΓ³n y no anuncie la transacciΓ³n (la mΓ‘quina estΓ‘ fuera de lΓ­nea):

bitxor-cli transaction votingkeylink --max-fee 1000000 --mode normal \
   --linked-public-key 05693B4300ABFD28CD6BA434DD26F9FAF2342927FE32840898DCB895B8A17E84 \
   --action Link --start-point 1 --end-point 360

Nuevamente, copie el contenido del cuadro Payload, recΓ³rtelo y agrΓ©guelo a payloads.txt, en una nueva lΓ­nea.

Copiar cargas ΓΊtiles

Copie payloads.txt en el pen drive donde previamente copiΓ³ la carpeta target.

mΓ‘quina en lΓ­nea

MuΓ©vase ahora a la mΓ‘quina en lΓ­nea, la que estΓ‘ permanentemente conectada a Internet y alojarΓ‘ el nodo. Enchufe el pendrive con la configuraciΓ³n del nodo.

Setup

  • Instale Bitxor Bootstrap como se indica en la guΓ­a Uso de Bitxor Bootstrap.

  • Instale Bitxor CLI como se indica en la guΓ­a bitxor-cli. Solo necesitas ejecutar:

    npm install --global bitxor-cli
    
  • Crear un perfil de locutor para bitxor-cli. Esta es solo una cuenta temporal utilizada para anunciar las cargas ΓΊtiles; no requiere fondos:

    Utilice el parΓ‘metro --url para especificar el NODE_URL para acceder a la red.

    bitxor-cli profile create --profile announcer --default \
       --network MAIN_NET \
       --url <NODE_URL>
    

    Cuando se le solicite, ingrese una contraseΓ±a para proteger su perfil y seleccione el tipo de importaciΓ³n PrivateKey:

    βœ” Enter your wallet password: ... *********
    βœ” Select an import type: Β» PrivateKey
    ...
    SUCCESS Stored announcer profile
    

Anunciar enlaces

Ahora usarΓ‘ bitxor-cli para anunciar a la red las transacciones que preparΓ³ en payloads.txt.

Enlace de llave remota

Anuncie el enlace de la llave remota:

carga ΓΊtil de la transacciΓ³n bitxor-cli --sync --announce
βœ” Ingrese la carga ΓΊtil de la transacciΓ³n:

Pegue la primera lΓ­nea de texto larga de payloads.txt y presione Entrar:

SUCCESS Transaction loaded:
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                                 ACCOUNT_KEY_LINK                                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Max fee:      β”‚ 1,000,000                                                        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Network type: β”‚ TEST_NET                                                         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Deadline:     β”‚ 2021-03-27 10:41:41.286                                          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Signer:       β”‚ TBGPYD-CO35V2-AMOYEJ-LEM44H-372M3I-6RWVFY-QCY                    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Action:       β”‚ Link                                                             β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Linked key:   β”‚ 1544FE6F504A8B8536C2407664916AFB5C917400FD1B941B981933CDFE52AE3F β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚                                 ACCOUNT_KEY_LINK                                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Max fee:      β”‚ 1,000,000                                                        β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Network type: β”‚ TEST_NET                                                         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Deadline:     β”‚ 2021-03-27 10:41:41.286                                          β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Signer:       β”‚ CC6D13D64FB9BF69B72846C3FE99127D48C3293F473D528FB902600CB7DA1033 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Action:       β”‚ Link                                                             β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Linked key:   β”‚ 1544FE6F504A8B8536C2407664916AFB5C917400FD1B941B981933CDFE52AE3F β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚                                Signature details                                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Payload:      β”‚ A10000000000000042E0E0A0B8D7E1F27805F3537F80BFEAB6FEAC318908C486 β”‚
β”‚               β”‚ 4D03260B83ED1D0332D6EA6E086A4B68C578DB690D78D50BDA5C706B1DC66472 β”‚
β”‚               β”‚ 9326511547E42E0FCC6D13D64FB9BF69B72846C3FE99127D48C3293F473D528F β”‚
β”‚               β”‚ B902600CB7DA10330000000001984C4140420F000000000026F54C1B0A000000 β”‚
β”‚               β”‚ 1544FE6F504A8B8536C2407664916AFB5C917400FD1B941B981933CDFE52AE3F β”‚
β”‚               β”‚ 01                                                               β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ Hash:         β”‚ 08C63D3AFAC3767F43053AFF1ACA61381FE81929B2384B91C450010A547AFA4A β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
...
SUCCESS Transaction announced
SUCCESS Transaction confirmed
Si la transacciΓ³n se anuncia pero nunca se confirma (bitxor-cli estΓ‘ atascado en Procesando durante mΓ‘s de un minuto), puede deberse a varias cosas. Sin interrumpir bitxor-cli, copia el hash de la transacciΓ³n, abre una nueva terminal y ejecuta:
bitxor-cli transaction status --hash <transaction hash>

Si ha habido algΓΊn problema con la transacciΓ³n, esto deberΓ­a darte la causa y luego puedes interrumpir bitxor-cli.

Si necesita volver a intentarlo, nunca vuelva a anunciar la misma carga ΓΊtil. Crea uno nuevo (desde la mΓ‘quina de ConfiguraciΓ³n) y vuelve a anunciarlo. The most common problems are:

  • Fondos insuficientes (Fallo_Core_Insufficient_Balance): La cuenta principal (que firmΓ³ la transacciΓ³n) no tiene fondos suficientes para pagar la tarifa. Transfiera algunos fondos e intente con una nueva carga ΓΊtil.

  • Fecha lΓ­mite vencida (Failure_Core_Past_Deadline): crea una nueva carga ΓΊtil y anΓΊnciala nuevamente antes de que expire la fecha lΓ­mite (consulta el cuadro Acerca de las fechas lΓ­mite arriba).

  • Tarifa insuficiente: no se informarΓ‘ ningΓΊn error, pero si la tarifa es demasiado baja, la mayorΓ­a de los nodos lo ignorarΓ‘n. Vuelva a intentarlo con una tarifa mΓ‘s alta o prepΓ‘rese para esperar mucho tiempo.

  • Payload re-anunciado: bitxor-cli se quedarΓ‘ atascado en Processing y no obtendrΓ‘ informaciΓ³n relevante del estado de la transacciΓ³n. Simplemente no anuncie la misma carga ΓΊtil mΓ‘s de una vez.

enlace clave VRF

Anuncie el enlace de la clave VRF:

bitxor-cli transaction payload --sync --announce
βœ” Ingrese la carga ΓΊtil de la transacciΓ³n:

Pegue la segunda lΓ­nea de texto larga de payloads.txt y espere a que se acepte la transacciΓ³n.

Enlace clave de votaciΓ³n

Anuncie el enlace de la clave de votaciΓ³n (si el suyo es un nodo de votaciΓ³n):

bitxor-cli transaction payload --sync --announce
βœ” Ingrese la carga ΓΊtil de la transacciΓ³n:

Pegue la tercera lΓ­nea larga de texto de payloads.txt y espere a que se acepte la transacciΓ³n.

Iniciar el nodo

Si se confirmaron todas las transacciones de enlace clave, el nodo ahora estΓ‘ configurado y finalmente puede iniciarlo.

Vaya al directorio que contiene el directorio objetivo copiado de la mΓ‘quina de configuraciΓ³n e inicie el nodo:

bitxor-bootstrap start

No se requieren otros parΓ‘metros, la configuraciΓ³n ya estΓ‘ presente en el directorio target y Bitxor Bootstrap la usarΓ‘.

El nodo deberΓ­a iniciarse y deberΓ­a aparecer una gran cantidad de resultados de depuraciΓ³n en la pantalla.

info     Password has been provided
info     The generated preset target/preset.yml already exist, ignoring configuration. (run -r to reset or --upgrade to upgrade)
...

Su nodo ahora deberΓ­a estar en funcionamiento y su clave privada principal nunca ha salido de la mΓ‘quina de configuraciΓ³n (fuera de lΓ­nea).

Para mayor seguridad, ahora puede convertir la cuenta principal del nodo en un Cuenta Multifirma. Esto es ΓΊtil, por ejemplo, para los proveedores de servicios que trabajan de manera sin custodia. Lea acerca de este proceso en la guΓ­a ConfiguraciΓ³n de nodos sin custodia.