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.toml
en un editor y modifíquelo minimum-gas-prices
para 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.
Tipo
Nombre del archivo de configuración
Artículo
LCD
~/.initia/config/app.toml
api.enable: habilitar/deshabilitar LCD api.swagger: habilitar/deshabilitar swagger api.address: dirección de escucha para LCD
GRPC/RPC-WEB
~/.initia/config/app.toml
grpc.enable: Activar/desactivar GRPC grpc.address: Dirección de escucha para GRPC grpc-web.enable: Activar/desactivar GRPC-WEB grpc-web.address: Dirección de escucha para GRPC-WEB
RPC
~/.initia/config/config.toml
rpc.laddr: dirección de escucha para RPC
P2P
~/.initia/config/config.toml
p2p.laddr: dirección de escucha para P2P
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.toml
se 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 sed
que curl
se jq
instalen 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.toml
debe 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 initiad
como 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 initiad
como nombre de servicio.
Abra
/etc/systemd/system/initiad.service
comoroot
permiso 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
initiad
está 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
Ejecute la siguiente línea de comando para activar
initiad
el servicio.root
Es posible que se requiera permiso.
systemctl enable initiad
La siguiente línea de comando se puede utilizar para iniciar o detener el servicio Initia.
root
Es posible que se requiera permiso.Comenzar:
systemctl start initiad
Detener:
systemctl stop initiad
Para aplicar los cambios
/etc/systemd/system/initiad.service
, ejecute la siguiente línea de comando. Esto puede requerirroot
permiso y, para aplicar cambios a un nodo en ejecución, es necesario reiniciar.
systemctl daemon-reload
systemctl restart initiad
Todos los registros
initiad
resultantes del paso 1 se registran en syslog. Utilice los siguientes comandos para verificarinitiad
los 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