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:
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.
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:
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:
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 deumeed
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 deumeed
.
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 mediantefee = ⌈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 apruning
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 demin-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 como0.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