Erigon
Generar el archivo JWT
Primero necesitamos crear un JSON Web Token (JWT) que permitirá que el software de la capa de ejecución (Nethermind) y el software de la capa de consenso se comuniquen entre sí.
Ejecute los siguientes comandos (una línea a la vez) para crear una carpeta en el servidor y generar el archivo JWT en ella:
sudo mkdir -p /var/lib/jwtsecret
openssl rand -hex 32 | sudo tee /var/lib/jwtsecret/jwt.hex > /dev/null
Luego apuntaremos los archivos de configuración de los clientes de ejecución y consenso a este archivo JWT.
Descarga Erigon y configura el servicio
Descargue la última versión de Erigon y ejecute el proceso de checksum para asegurarse de que el archivo descargado no haya sido manipulado.
cd
curl -LO https://github.com/ledgerwatch/erigon/releases/download/v2.60.0/erigon_2.60.0_linux_amd64.tar.gz
echo "27acb08c65c18128e78faa1c7edfae169e53f58db7bb347bc7145ce8ea1013a0 erigon_2.60.0_linux_amd64.tar.gz" | sha256sum --check

Resultado esperado: verificar el resultado de la verificación de la suma de control
erigon_2.60.0_linux_amd64.tar.gz: OK
Si se verifica el checksum, extraiga los archivos y muévalos al directorio (/usr/local/bin)
para mayor claridad y mejores prácticas. Luego, limpie las copias duplicadas.
tar xvf erigon_2.60.0_linux_amd64.tar.gz
sudo cp erigon /usr/local/bin
rm -r erigon README.md erigon_2.60.0_linux_amd64.tar.gz
Cree una cuenta ( erigon
) sin acceso al servidor para que Erigon se ejecute como un servicio en segundo plano. Este tipo de cuenta de usuario no tendrá acceso de root, por lo que restringe a los atacantes potenciales únicamente al servicio Erigon en el improbable caso de que logren infiltrarse a través de una actualización de cliente comprometida.
sudo useradd --no-create-home --shell /bin/false erigon
Cree un directorio para que Erigon almacene los datos de blockchain de la capa de ejecución. Luego configure el propietario de este directorio al usuario erigon
para que este pueda leer y escribir en el directorio.
sudo mkdir -p /var/lib/erigon
sudo chown -R erigon:erigon /var/lib/erigon
Cree un archivo de configuración systemd para que el servicio Erigon se ejecute en segundo plano.
sudo nano /etc/systemd/system/erigon.service
Pegue los siguientes parámetros de configuración en el archivo:
[Unit]
Description=Erigon Execution Client (Holesky)
After=network.target
Wants=network.target
[Service]
User=erigon
Group=erigon
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/local/bin/erigon \
--chain holesky \
--datadir /var/lib/erigon \
--authrpc.jwtsecret=/var/lib/jwtsecret/jwt.hex \
--port 30304 \
--http \
--http.addr value <Internal_IP_address> \
--http.port 8547 \
--pprof \
--prune htc \
--private.api.addr "" \
--metrics
[Install]
WantedBy=default.target
Una vez que haya terminado, guarde con Ctrl+O
y Enter
, luego salga con Ctrl+X
. Comprenda y revise el resumen de configuración que aparece a continuación y modifíquelo si es necesario.
Resumen de configuración de Erigon:
--chain holesky
: Ejecute en la red de prueba Holesky--datadir
: El directorio para que Erigon almacene los datos de blockchain de la capa de ejecución.--authrpc.jwtsecret
: El directorio que apunta al JWT que generamos anteriormente.--port
: establece el puerto utilizado para la comunicación peer-to-peer. El valor predeterminado es 30303.--http
: Habilita el servicio HTTP-RPC en HTTP y WebSocket. Esto es para que los clientes de DVT, como el servicio Diva, puedan conectarse a su cliente de ejecución.--http.addr
: Establece la dirección IP para conectarse al servicio JSON RPC. Utilice aquí la dirección IP interna de su dispositivo (verifique ejecutandoip a
), por ejemplo192.168.x.x
. El valor predeterminado es127.0.0.1
lo contrario--http.port
: Establece el puerto para conectarse al servicio HTTP-RPC que utilizarán los servicios DVT. Puede elegir cualquier número de puerto no utilizado, pero recuerde permitir conexiones entrantes al puerto elegido en las reglas de su firewall (ufw
). El valor predeterminado es 8545--pprof:
Habilita el servidor pprof HTTP, proporcionando datos de perfilado sobre el proceso Erigon. Incluye uso de CPU, asignación de memoria, perfiles de bloqueo, etc. Útil para depurar y optimizar el rendimiento.--prune htc
: Elige qué datos antiguos se eliminan de la base de datos. h=historial, t=transacción, c=trazas de llamadas--private.api.addr
: Desactiva la API privada que suelen utilizar los desarrolladores (txpool, rpcdaemon, sentry, downloader data). El valor predeterminado es 127.0.0.1:9090, lo que entra en conflicto con Prometheus Node Exporter.--metrics
: Habilite las métricas de monitoreo en el servicio Erigon.
Empezar Erigon
Recargar el systemd para registrar los cambios realizados, inicie Nethermind y verifique su estado para asegurarse de que se esté ejecutando.
sudo systemctl daemon-reload
sudo systemctl start erigon.service
sudo systemctl status erigon.service
Resultado esperado: El resultado debería decir que Erigon está “active (running)”. Presione CTRL-C
para salir y Erigon continuará ejecutándose. Erigon debería tardar alrededor de 6 horas en sincronizarse en la red de prueba de Holesky.

Utilice el siguiente comando para verificar los logs del proceso de sincronización de Erigon. Esté atento a cualquier advertencia o error.
sudo apt install ccze -y
sudo journalctl -fu erigon -o cat | ccze -A
Resultado esperado:

Presione CTRL-C
para salir.
Si el servicio Erigon funciona sin problemas, ahora podemos permitir que se inicie automáticamente al reiniciar el sistema.
sudo systemctl enable erigon.service
Resultado esperado:
Created symlink /etc/systemd/system/default.target.wants/erigon.service → /etc/systemd/system/erigon.service.
Recursos:
Lanzamientos: https://github.com/ledgerwatch/erigon/releases
Documentación: https://github.com/ledgerwatch/erigon#documentation
Discord: Solicite acceso a través de su sitio web aquí
Last updated