Saltearse al contenido

Usando Código Fuente

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

  1. Sigue los pasos en Construir Aptos Desde Código Fuente para descargar el repositorio aptos-core y código fuente.

  2. Haz checkout de la rama mainnet usando git checkout --track origin/mainnet. Nota: si quieres desplegar un validator y VFN en otra red, usa el nombre de rama apropiado (ej., testnet).

  3. 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
  4. 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.
  5. 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).

  6. 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
    • genesis.blob
    • waypoint.txt
  7. Siguiente, copia los archivos de plantilla validator.yaml y fullnode.yaml (que acabas de descargar) en el directorio ~/$WORKSPACE/config/. Esto puede hacerse ejecutando los siguientes comandos:

    Ventana de terminal
    mkdir ~/$WORKSPACE/config
    cp validator.yaml ~/$WORKSPACE/config/validator.yaml
    cp fullnode.yaml ~/$WORKSPACE/config/fullnode.yaml

    Estos serán los archivos de configuración primarios para tu validator y VFN, respectivamente.

  8. Ahora, modifica los archivos de plantilla validator.yaml y fullnode.yaml para contener la información apropiada y directorios de trabajo para tu validator y VFN.

    Para el archivo validator.yaml, necesitarás modificar los siguientes campos:

    • base.data_dir: El directorio donde se almacenarán los datos de blockchain.
    • base.waypoint: El waypoint para la transacción génesis en la red a la que te estás conectando.
    • consensus.initial_safety_rules_config: El waypoint para la transacción génesis en la red a la que te estás conectando, así como la ubicación del archivo validator-identity.yaml.
    • execution.genesis_file_location: El blob génesis para la red a la que te estás conectando.
    • storage.rocksdb_configs.enable_storage_sharding: Establecer a true.
    • validator_network.identity: La ubicación del archivo validator-identity.yaml.

    Para el archivo fullnode.yaml, necesitarás modificar los siguientes campos:

    • base.data_dir: El directorio donde se almacenarán los datos de blockchain.

    • base.waypoint: El waypoint para la transacción génesis en la red a la que te estás conectando.

    • execution.genesis_file_location: El blob génesis para la red a la que te estás conectando.

    • storage.rocksdb_configs.enable_storage_sharding: Establecer a true.

    • full_node_networks: - La red public necesitará ser actualizada con la ubicación del archivo validator-full-node-identity.yaml.

      • La red vfn necesitará ser actualizada con la dirección IP o dirección DNS correcta del validator. Por ejemplo, si estás usando direcciones IP, necesitarás actualizar el campo addresses 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
  9. Para recapitular, en tu directorio de trabajo (~/$WORKSPACE), deberías tener una lista de archivos:

    • carpeta config conteniendo:
      • validator.yaml: El archivo de configuración del validator.
      • fullnode.yaml: El archivo de configuración del 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.
  10. Ahora que has configurado tus archivos de configuración, puedes iniciar tu validator y VFN. Para iniciar tu validator, ejecuta los siguientes comandos, con las rutas asumiendo que estás en la raíz del directorio aptos-core:

    Ventana de terminal
    cargo clean
    cargo build -p aptos-node --release
    sudo mv target/release/aptos-node /usr/local/bin
    aptos-node -f ~/$WORKSPACE/config/validator.yaml

    Para iniciar tu VFN, ejecuta los siguientes comandos en una máquina VFN separada y dedicada. Necesitarás descargar el código fuente aptos-core y construir el binario en la máquina VFN. Igualmente, necesitarás copiar las claves y archivos de configuración desde la máquina validator.

    Inicia tu VFN ejecutando los siguientes comandos, con las rutas asumiendo que estás en la raíz del directorio aptos-core:

    Ventana de terminal
    cargo clean
    cargo build -p aptos-node --release
    sudo mv target/release/aptos-node /usr/local/bin
    aptos-node -f ~/$WORKSPACE/config/fullnode.yaml

Si quieres ejecutar aptos-node como un servicio, puedes configurarlo para ejecutar como un servicio controlado por systemctl. Esto es opcional, y puede hacerse usando la plantilla de servicio abajo. Necesitarás modificar la plantilla para coincidir con tu entorno y configuración.

Ventana de terminal
[Unit]
Description=Aptos Node Service
[Service]
User=nodeuser
Group=nodeuser
LimitNOFILE=500000
#Environment="RUST_LOG=error"
WorkingDirectory=/home/nodeuser/aptos-core
ExecStart=/usr/local/bin/aptos-node -f /home/nodeuser/aptos-mainnet/config/validator.yaml
Restart=on-failure
RestartSec=3s
StandardOutput=journal
StandardError=journal
SyslogIdentifier=aptos-node
[Install]
WantedBy=multi-user.target

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