Nodo completo

Una guía detallada paso a paso sobre cómo ejecutar un nodo completo de Umee

Instalar

Antes de proceder, asegúrate de consultar el repositorio de Umee para comprobar qué versión de umeed es necesaria para la red en la que quieres ejecutar tu nodo, así como el ID de la cadena.

Los operadores pueden elegir entre instalar el binario de umeed desde el código fuente o descargar una versión para su sistema operativo y arquitectura específicos desde la página de versiones.

Para instalar el binario de umeed desde la fuente, primero asegúrate de tener Golang 1.17+ instalado en tu sistema operativo. Consulta la página de instalación para obtener instrucciones sobre cómo instalar y configurar tu entorno correctamente.

Una vez que tengas tu entorno correctamente configurado, clona el repositorio de Umee e instala el binario:

# Replace vX.Y.Z with the relevant release version, e.g. v1.0.1
$ git clone --depth 1 --branch vX.Y.Z https://github.com/umee-network/umee.git
$ cd umee && make install

Por último, verifique su versión umeed:

Asegúrate de que estás usando la v1.0.2 hasta que tu nodo se sincronice en el bloque 24615, entonces deberías actualizar a la v1.0.3.

$ umeed version

Requisitos de hardware

El hardware recomendado para ejecutar un nodo Umee variará dependiendo del caso de uso y las funcionalidades deseadas del nodo. Por ejemplo, puede ser necesaria una cantidad significativa de espacio en disco si el nodo va a actuar como nodo de archivo, es decir, pruning=nothing o si el nodo es un proveedor de instantáneas de estado sincronizado. En general, recomendamos como mínimo las siguientes especificaciones:

  • 2+ vCPU

  • 4+ GB RAM

  • 120+ GB SSD

Inicializar

Antes de comenzar el proceso de umeed, debemos inicializar nuestro nodo:

# Replace moniker with your desired node's moniker and the chain ID
# of the network you are joining.
$ umeed init <moniker> --chain-id <chain-id>

El comando anterior crea e inicializa un directorio .umee en su ruta $HOME por defecto. Este directorio contiene todos los archivos de configuración necesarios para ejecutar su nodo junto con un archivo genesis.json por defecto. Puede sobrescribir la ubicación del directorio .umee especificando la bandera --home.

Ten en cuenta que cuando te unes a una red existente, el valor --chain-id proporcionado no importa, ya que va a reemplazar genesis.json autogenerado en todo caso.

Una vez inicializado, sobrescriba el archivo genesis.json por defecto con el archivo de estado de genesis para la red particular a la que se está uniendo. Puede recuperar el archivo genesis state del repositorio de Umee o de otra fuente de confianza:

$ cd ~/.umee/config
$ wget https://raw.githubusercontent.com/umee-network/umee/main/.../genesis.json

Nota, asegúrese de verificar la suma SHA256 del archivo genesis con lo referenciado en el repositorio de Umee.

Configurar

Antes de iniciar su nodo, es importante verificar y actualizar cualquier configuración relevante. Hay tres archivos de configuración principales ubicados en ~/.umee/config/:

  • config.toml: Utilizado para configurar Tendermint. Aprende más sobre la configuración de Tendermint.

  • app.toml: Se utiliza para configurar la aplicación Umee. Incluye configuraciones como pruning de la aplicación, sincronización de estados, tarifas mínimas y configuración de la API/gRPC.

  • client.toml: Se utiliza para configurar las entradas del lado del cliente cuando se utiliza la CLI de umeed para interactuar con la red. Esta configuración es totalmente opcional y se utiliza principalmente como una conveniencia para evitar tener que introducir los mismos argumentos en los comandos CLI de umeed.

Tanto config.toml como app.toml están fuertemente comentados y deberían usarse como referencia sobre cómo ajustar su configuración.

Recomendamos al menos comprobar y posiblemente también cambiar las siguientes configuraciones:

  • app.toml

    • minimum-gas-prices: Establezca un valor no vacío para que el nodo requiera tarifas mínimas al procesar transacciones, por ejemplo, minimum-gas-prices = "0.001uumee". Recordemos que la tarifa de una transacción se calcula mediante fee = ⌈tx.gasLimit * tx.gasPrice⌉, por lo que la tarifa de la transacción debe ser al menos ⌈minimumGasPrices * tx.gasPrice⌉.

    • pruning: Por defecto, la aplicación guardará el valor de un periodo de desvinculación, en bloques, de los datos de la aplicación (362880) y podará el estado restante de la aplicación. Debes cambiar este valor si quieres podar todo el estado de la aplicación, pruning = "everything", o si quieres guardar todo el estado de la aplicación (archivo), pruning = "nothing".

    • min-retain-blocks: Este valor corresponde al podado de bloques de Tendermint. Esto es diferente a pruning ya que se refiere al estado de la aplicación. Cuando es distinto de cero, la aplicación informará a Tendermint para que pode los bloques que sobrepasen el umbral de min-retain-blocks. Nota, internamente la aplicación impone un mínimo ya que al menos un periodo de desvinculación de bloques debe ser mantenido por seguridad.

    • api.enable: Habilita el servicio API de la aplicación (gRPC HTTP gateway).

    • grpc.enable: Habilita el servicio gRPC de la aplicación.

  • config.toml

    • rpc.laddr: Por defecto, el RPC de Tendermint escucha en la interfaz localhost. Si quieres contactar con el RPC de Tendermint de forma externa, establece esto como 0.0.0.0 para escuchar en todas las interfaces/IPs.

    • p2p.external_address: Establece este valor a la dirección IP pública y estática del nodo. Esto ayudará a asegurar que otros nodos en la capa gossip p2p de Tendermint sean capaces de alcanzar y conectarse con éxito a su nodo.

    • p2p.seeds: Establece una lista de nodos semilla disponibles (si los hay). Los nodos semilla son nodos que intercambian puramente información de pares con su nodo y luego se desconectan. Establece este valor si no tienes ningún peer disponible o conocido al que conectarte.

    • p2p.persistent_peers: Establece una lista de peers disponibles y de confianza (si los hay).

Cosmovisor y gestión de servicios

Recomendamos el uso de systemd además de cosmovisor, un supervisor binario de cosmos, para gestionar su proceso umeed.

Para una guía detallada sobre la configuración de cosmovisor, por favor vea las instrucciones de configuración.

Sólo configure DAEMON_ALLOW_DOWNLOAD_BINARIES=true si está ejecutando un nodo completo. Se recomienda a los validadores que descarguen o construyan los binarios actualizados con antelación y verifiquen que son correctos.

Last updated