Arrancar un nodo de inicio

Iniciar la configuración básica

El directorio INICIO utilizado en esta sección es el valor predeterminado. ~/.initia.Para configurar un directorio diferente, agregue --home <YOUR_INITIA_HOME>una opción en cada comando y use un directorio diferente como directorio INICIO de Initia.

Inicialización

Utilice el siguiente comando para inicializar el nodo de inicio.

initiad init <moniker>

Un apodo es un nombre legible por humanos para su nodo. El apodo solo puede contener caracteres ASCII y no puede exceder los 70 caracteres.

Su clave privada se genera durante la inicialización y se guarda en formato ~/.initia/config/priv_validator_key.json.

Recuerde hacer una copia de seguridad de su clave privada si está ejecutando un nodo validador. Si se pierde una clave privada, es posible que el nodo nunca se pueda recuperar de una falla de hardware. Planifique su copia de seguridad ejecutando un nodo Testnet y proteja su clave privada de forma segura para la red principal.

Establecer precios mínimos de gasolina

Ábralo ~/.initia/config/app.tomlen un editor y modifíquelo minimum-gas-pricespara establecer el precio mínimo de gasolina aceptado por el validador para procesar una transacción y evitar el spam. Se pueden modificar varias tarifas usando una coma (,) entre cada tipo de tarifa.

El siguiente es un ejemplo:

# setting minimum-gas-prices = "0.15uinit,0.01uusdc"
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.15uinit,0.01uusdc\"|" $HOME/.initia/config/app.toml

Configuración de puntos finales

Initia admite los siguientes puntos finales para comunicaciones externas.

No se recomienda que los nodos validadores abran ninguno de estos puntos finales.

  • LCD: API REST

  • GRPC/GRPC-WEB: API de GRPC

  • RPC: API proporcionada por Tendermint/CometBFT

  • P2P: Chismes P2P con otros nodos de Initia

Puede modificar los siguientes valores de configuración para activar o desactivar cada punto final y cambiar los puertos.

El siguiente es un ejemplo de configuración que habilita todos los puntos finales y escucha 0.0.0.0 como puerto predeterminado. Modifique su configuración en consecuencia.

~/.initia/config/app.toml

# ...

###############################################################################
###                           API Configuration                             ###
###############################################################################

[api]

# Enable defines if the API server should be enabled.
enable = true

# Swagger defines if swagger documentation should automatically be registered.
swagger = true

# Address defines the API server to listen on.
address = "tcp://0.0.0.0:1317"

# ...


###############################################################################
###                           gRPC Configuration                            ###
###############################################################################

[grpc]

# Enable defines if the gRPC server should be enabled.
enable = true

# Address defines the gRPC server address to bind to.
address = "0.0.0.0:9090"

# ...

###############################################################################
###                        gRPC Web Configuration                           ###
###############################################################################

[grpc-web]

# GRPCWebEnable defines if the gRPC-web should be enabled.
# NOTE: gRPC must also be enabled, otherwise, this configuration is a no-op.
enable = true

# Address defines the gRPC-web server address to bind to.
address = "0.0.0.0:9091"

# ...

~/.initia/config/config.toml

# ...

#######################################################
###       RPC Server Configuration Options          ###
#######################################################
[rpc]

# TCP or UNIX socket address for the RPC server to listen on
laddr = "tcp://0.0.0.0:26657"

# ...

#######################################################
###           P2P Configuration Options             ###
#######################################################
[p2p]

# Address to listen for incoming connections
laddr = "tcp://0.0.0.0:26656"

# ...

Configurar dirección externa

Para permitir el acceso desde nodos externos a su nodo a través de la red P2P, config.tomlse debe modificar. Al ingresar el campo IP pública/Puerto a p2p.external_address, la configuración de red permitirá que nodos externos accedan a su nodo.

El siguiente es un ejemplo y los valores se pueden modificar mediante las líneas de comando sed, jq y curl.

#######################################################
###           P2P Configuration Options             ###
#######################################################
[p2p]

# Address to listen for incoming connections
laddr = "tcp://0.0.0.0:26656"

# Address to advertise to peers for them to dial
# If empty, will use the same port as the laddr,
# and will introspect on the listener or use UPnP
# to figure out the address. ip and port are required
# example: 159.89.10.97:26656
external_address = "159.89.10.97:26656"

La siguiente línea de comando requiere sedque curlse jqinstalen y establece todos los puertos en el valor predeterminado: 26656.

#!/usr/bash

sed -i -e 's/external_address = \"\"/external_address = \"'$(curl httpbin.org/ip | jq -r .origin)':26656\"/g' ~/.initia/config/config.toml

Configurar Oracle

Para iniciar la alimentación de Oracle desde su nodo validador, app.tomldebe modificarse. Al ingresar la dirección del proceso de Oracle adicional, el validador comenzará a alimentar los precios de Oracle.

######################################
###             Oracle             ###
######################################

[oracle]

# Enabled specifies whether the side-car oracle needs to be run.
enabled = true

# Production specifies whether the oracle is running in production mode. This is used to
# determine whether the oracle should be run in debug mode or not.
production = true

# RemoteAddress is the address of the remote oracle server (if it is running out-of-process)
remote_address = "127.0.0.1:8080"

# ClientTimeout is the time that the client is willing to wait for responses from the oracle before timing out.
client_timeout = "500ms"

Para iniciar el proceso de Sidecar Oracle, consulte esta sección .

Ejecutar Inicia

Se completan todas las configuraciones locales. Pero para funcionar initiadcomo un nodo blockchain, el nodo debe obtener información del bloque génesis y estar configurado para comunicarse con otros nodos. Consulte la sección Conectarse a la red Initia para obtener más información.

La siguiente sección es opcional, pero contiene información sobre cómo registrar el demonio Initia en el servicio para que sea más fácil de ejecutar y administrar. Tenga en cuenta que esto puede ayudarle a funcionar sin problemas.

Registrar Initia como servicio

Ejecute y administre Initia fácilmente registrándolo como un servicio de Linux. El siguiente ejemplo lo utiliza initiadcomo nombre de servicio.

  1. Abra /etc/systemd/system/initiad.servicecomo rootpermiso e ingrese la siguiente información:

    • Modifique la sección Servicio para que coincida con su configuración de entorno antes de guardar

      • Usuario: nombre de cuenta para ejecutar initiad(ejemplo a continuación: ubuntu)

      • ExecStart: Directorio donde initiadestá instalado + start(Ejemplo a continuación /user/bin initiad start:)

[Unit]
Description=initiad

[Service]
Type=simple
User=ubuntu
ExecStart=/usr/bin/initiad start
Restart=on-abort
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=initiad
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
  1. Ejecute la siguiente línea de comando para activar initiadel servicio. rootEs posible que se requiera permiso.

systemctl enable initiad
  1. La siguiente línea de comando se puede utilizar para iniciar o detener el servicio Initia. rootEs posible que se requiera permiso.

    • Comenzar:systemctl start initiad

    • Detener:systemctl stop initiad

  2. Para aplicar los cambios /etc/systemd/system/initiad.service, ejecute la siguiente línea de comando. Esto puede requerir rootpermiso y, para aplicar cambios a un nodo en ejecución, es necesario reiniciar.

systemctl daemon-reload
systemctl restart initiad
  1. Todos los registros initiadresultantes del paso 1 se registran en syslog. Utilice los siguientes comandos para verificar initiadlos registros.

journalctl -t initiad    # Shows the current logs and ends. Can be used with the below options
journalctl -t initiad -f # Tracks and shows the most recent logs.
journalctl -t initiad -n <number> # Shows the recent log at line <number>

Last updated