Saltearse al contenido

Usando Docker

Esta es una guía paso a paso para desplegar un validator de Aptos y validator fullnode (VFN) usando Docker. Usando esta guía, el validator y VFN serán desplegados en máquinas separadas.

  1. Crea un directorio de trabajo para tus nodos Aptos, y elige un nombre de usuario para tus nodos, ej.,

    Ventana de terminal
    export WORKSPACE=mainnet
    export USERNAME=alice
    mkdir ~/$WORKSPACE
    cd ~/$WORKSPACE
  2. Genera los pares de claves para tus nodos en tu directorio de trabajo. Puedes hacer esto ejecutando el siguiente comando con el CLI de Aptos:

    Ventana de terminal
    aptos genesis generate-keys --output-dir ~/$WORKSPACE/keys

    Esto creará 4 archivos de clave bajo el directorio ~/$WORKSPACE/keys:

    • public-keys.yaml: Este archivo contiene todas las claves públicas para tu validator y VFN, así como tu dirección de cuenta.
    • private-keys.yaml: Este archivo contiene todas las claves privadas para tu validator y VFN.
    • validator-identity.yaml: Este archivo contiene las claves públicas y privadas para tu validator, así como tu dirección de cuenta.
    • validator-full-node-identity.yaml: Este archivo contiene las claves públicas y privadas para tu VFN, así como tu dirección de cuenta.
  3. Siguiente, necesitarás establecer tu configuración de validator. Esto incluye establecer los nombres de host del validator y VFN, que pueden ser direcciones IP o direcciones DNS.

    Puedes establecer tu configuración de validator ejecutando el siguiente comando con el CLI de Aptos:

    Ventana de terminal
    # Reemplaza <validator node IP / DNS address> y <Full Node IP / DNS address> abajo,
    # con la dirección IP o DNS apropiada para tus nodos.
    cd ~/$WORKSPACE
    aptos genesis set-validator-configuration \
    --local-repository-dir ~/$WORKSPACE \
    --username $USERNAME \
    --owner-public-identity-file ~/$WORKSPACE/keys/public-keys.yaml \
    --validator-host <validator node IP / DNS address>:<Port> \
    --full-node-host <Full Node IP / DNS address>:<Port> \
    --stake-amount 100000000000000
    # Por ejemplo, si estás usando direcciones IP:
    aptos genesis set-validator-configuration \
    --local-repository-dir ~/$WORKSPACE \
    --username $USERNAME \
    --owner-public-identity-file ~/$WORKSPACE/keys/public-keys.yaml \
    --validator-host 35.232.235.205:6180 \
    --full-node-host 34.135.169.144:6182 \
    --stake-amount 100000000000000
    # De lo contrario, si estás usando direcciones DNS:
    aptos genesis set-validator-configuration \
    --local-repository-dir ~/$WORKSPACE \
    --username $USERNAME \
    --owner-public-identity-file ~/$WORKSPACE/keys/public-keys.yaml \
    --validator-host bot.aptosdev.com:6180 \
    --full-node-host fn.bot.aptosdev.com:6182 \
    --stake-amount 100000000000000

    Configurar el validator creará dos archivos YAML en el directorio ~/$WORKSPACE/$USERNAME: owner.yaml y operator.yaml. Estos serán útiles para conectar tus nodos a la red de Aptos (después).

  4. Descarga los siguientes archivos siguiendo las instrucciones en las páginas Archivos del Nodo. Necesitarás seleccionar la red apropiada (ej., mainnet, testnet, devnet) y descargar los siguientes archivos:

    • validator.yaml
    • fullnode.yaml
    • docker-compose.yaml
    • docker-compose-fullnode.yaml
    • haproxy.cfg
    • haproxy-fullnode.cfg
    • blocked.ips
    • genesis.blob
    • waypoint.txt
  5. Para recapitular, en tu directorio de trabajo (~/$WORKSPACE), deberías tener una lista de archivos:

    • docker-compose.yaml: El archivo docker compose para ejecutar el validator.
    • docker-compose-fullnode.yaml: El archivo docker compose para ejecutar el VFN.
    • carpeta keys conteniendo:
      • public-keys.yaml: Claves públicas para ambos nodos.
      • private-keys.yaml: Claves privadas para ambos nodos.
      • validator-identity.yaml: Información de clave y cuenta para el validator.
      • validator-full-node-identity.yaml: Información de clave y cuenta para el VFN.
    • carpeta $username conteniendo:
      • owner.yaml: Los mapeos de propietario, operador y votante.
      • operator.yaml: Información del operador del validator y VFN.
    • waypoint.txt: El waypoint para la transacción génesis en la red a la que te estás conectando.
    • genesis.blob El blob génesis para la red a la que te estás conectando.
  6. Para iniciar el nodo validator, ejecuta el siguiente comando en tu directorio de trabajo:

    Ventana de terminal
    docker-compose up (o `docker compose up` depende de tu versión)

    Esto iniciará el nodo validator usando el archivo docker compose y las imágenes especificadas en el archivo docker-compose.yaml. Si deseas cambiar la red a la que te estás conectando, necesitarás modificar el archivo para usar las imágenes docker correctas por nombre de red.

  7. Antes de que puedas iniciar el VFN, necesitarás modificar el archivo fullnode.yaml para actualizar la dirección de host para el nodo validator. Por ejemplo, si estás usando direcciones IP, necesitarás actualizar las full_node_networks addresses para la red vfn como sigue:

    ---
    addresses:
    - "/ip4/100.100.100.100/tcp/6181/noise-ik/..." # Establece la Dirección IP del validator

    De lo contrario, si estás usando direcciones DNS, necesitarás actualizar el campo addresses como sigue:

    ---
    addresses:
    - "/dns/example.com/tcp/6181/noise-ik/..." # Establece la Dirección DNS del validator
  8. Para iniciar tu VFN, ejecuta los siguientes comandos en una máquina VFN separada y dedicada. Necesitarás copiar las claves, configuración y archivos docker compose desde la máquina validator.

    Para iniciar el VFN, ejecuta el siguiente comando en tu directorio de trabajo:

    Ventana de terminal
    docker-compose -f docker-compose-fullnode.yaml up

    Esto iniciará el VFN usando el archivo docker compose y las imágenes especificadas en el archivo docker-compose-fullnode.yaml. Si deseas cambiar la red a la que te estás conectando, necesitarás modificar el archivo para usar las imágenes docker correctas por nombre de red.

Ahora has completado la configuración de tu validator y VFN usando Docker. Procede a Conectar Nodos para los siguientes pasos.