Ejecutar una Red Pública (Avanzado)
Ceremonias de génesis
Sección titulada «Ceremonias de génesis»La herramienta aptos soporta el arranque de nuevas blockchains a través de lo que se conoce como una ceremonia de génesis. La salida de la ceremonia de génesis es la salida de instrucciones de move que preparan una blockchain para operación en línea. La entrada consiste en:
- Un conjunto de validadores y su configuración
- El conjunto inicial de módulos Move, conocido como un framework
- Un
ChainIdúnico (u8) que distingue esto de otras redes - Para cadenas de prueba, también existe una cuenta que gestiona la acuñación de AptosCoin
Generar génesis
Sección titulada «Generar génesis»- El organizador de génesis construye un
Layouty lo distribuye. - El organizador de génesis prepara el bytecode del framework de Aptos y lo distribuye.
- Cada participante genera su
ValidatorConfigurationy la distribuye. - Cada participante genera un
genesis.blobde las contribuciones resultantes. - El organizador de génesis ejecuta el
genesis.blobpara derivar el waypoint inicial y lo distribuye. - Cada participante comienza su
aptos-node. Elaptos-nodeverifica al inicio que elgenesis.blobcon el waypoint proporcionado por el organizador de génesis. - La blockchain comenzará el consenso después de que un quórum de stake esté disponible.
Preparar aptos-core
Sección titulada «Preparar aptos-core»Las siguientes secciones dependen de herramientas del código fuente de Aptos. Ver Construir Aptos Desde el Código Fuente para la configuración.
El archivo layout
Sección titulada «El archivo layout»El archivo layout contiene:
root_key: una clave pública Ed25519 para la gestión de AptosCoin.users: el conjunto de participanteschain_id: elChainIdo un entero único que distingue este despliegue de otras redes de Aptos
Un ejemplo:
root_key: "0xca3579457555c80fc7bb39964eb298c414fd60f81a2f8eedb0244ec07a26e575"users: - alice - bobchain_id: 8Construir el Framework de Aptos
Sección titulada «Construir el Framework de Aptos»Desde tu repositorio de Aptos-core, construye el framework y empaquétalo:
cargo run --package frameworkmkdir aptos-framework-releasecp aptos-framework/releases/artifacts/current/build/**/bytecode_modules/* aptos-framework-releaseEl framework se almacenará dentro del directorio aptos-framework-release.
El archivo ValidatorConfiguration
Sección titulada «El archivo ValidatorConfiguration»El archivo ValidatorConfiguration contiene:
account_address: La cuenta que gestiona este validador. Esto debe derivarse de laaccount_keyproporcionada dentro del archivoValidatorConfiguration.consensus_key: La clave pública para autenticar mensajes de consenso del validadoraccount_key: La clave pública para la cuenta que gestiona este validador. Esto se usa para derivar laaccount_address.network_key: La clave pública para autenticación y cifrado de red tanto del validador como del fullnode.validator_host: La dirección de red donde reside el validador. Esto contiene un campohostyport. Elhostdebe ser un nombre DNS o una dirección IP. Actualmente solo se soporta IPv4.full_node_host: Una dirección de red opcional donde reside el fullnode. Esto contiene un campohostyport. Elhostdebe ser un nombre DNS o una dirección IP. Actualmente solo se soporta IPv4.stake_amount: El número de monedas siendo apostadas por este nodo. Se espera que esto sea1, si es diferente la configuración se considerará inválida.
Un ejemplo:
account_address: ccd49f3ea764365ac21e99f029ca63a9b0fbfab1c8d8d5482900e4fa32c5448aconsensus_key: "0xa05b8f41057ac72f9ca99f5e3b1b787930f03ba5e448661f2a1fac98371775ee"account_key: "0x3d15ab64c8b14c9aab95287fd0eb894aad0b4bd929a5581bcc8225b5688f053b"network_key: "0x43ce1a4ac031b98bb1ee4a5cd72a4cca0fd72933d64b22cef4f1a61895c2e544"validator_host: host: bobs_host port: 6180full_node_host: host: bobs_host port: 6182stake_amount: 1Para generar esto usando el CLI de aptos:
- Genera las claves de tu validador:
cargo run --package aptos -- genesis generate-keys --output-dir bobs- Genera tu
ValidatorConfiguration:
cargo run --package aptos -- \\ genesis set-validator-configuration \\ --keys-dir bobs \\ --username bob \\ --validator-host bobs_host:6180 \\ --full-node-host bobs_host:6180 \\ --local-repository-dir .- El último comando producirá un archivo
bob.yamlque debe distribuirse a otros participantes para la generación degenesis.blob.
Generar un génesis y waypoint
Sección titulada «Generar un génesis y waypoint»genesis.blob y el waypoint pueden generarse después de obtener el archivo layout, cada uno de los archivos ValidatorConfiguration individuales, y el lanzamiento del framework. Es importante validar que la ValidatorConfiguration proporcionada en la etapa anterior sea la misma que en la distribución para generar el genesis.blob. Si hay una discrepancia, informa a todos los participantes.
Para generar el genesis.blob y waypoint:
- Coloca el archivo
layouten un directorio, ej.,genesis. - Coloca todos los archivos
ValidatorConfigurationen el directoriogenesis. - Asegúrate de que los archivos
ValidatorConfigurationestén listados bajo el conjunto deusersdentro del archivolayout. - Crea un directorio
frameworkdentro del directoriogenesisy coloca los archivos.mvdel lanzamiento del framework en el directorioframework. - Usa el CLI de
aptospara generar génesis y waypoint:
cargo run --package aptos -- genesis generate-genesis --local-repository-dir genesisIniciar un aptos-node
Sección titulada «Iniciar un aptos-node»Al generar el genesis.blob y waypoint, colócalos en el directorio de configuración de tu validador y fullnode y comienza tu validador y fullnode.