Mag-set up at i-configure ang execution layer client (Nethermind)

Gumawa ng JWT file

Una, kailangan nating lumikha ng JSON Web Token (JWT) na magpapahintulot sa execution layer software (Nethermind) at sa consensus layer software (Teku) na makipag-usap sa isa't isa.

Takbuhin ang mga sumusunod na command ng isa-isa upang lumikha ng isang folder sa server upang mag-imbak ng JWT file at mag-generate ng JWT file:

sudo mkdir -p /var/lib/jwtsecret
openssl rand -hex 32 | sudo tee /var/lib/jwtsecret/jwt.hex > /dev/null

Susundan natin ang mga configuration file ng execution at consensus clients patungo sa JWT file na ito mamaya.

Mag-install ng mga dependencies - Unzip, Snappy & ang GNU C Library

sudo apt-get update
sudo apt-get install unzip libsnappy-dev libc6-dev libc6 -y

I-download ang Nethermind at i-configure ang serbisyo

I-Download ang pinakabagong bersyon ng Nethermind at takbuhin ang proseso ng pag-verify ng checksum upang tiyakin na ang ini-download na file ay hindi nabago.

cd
curl -LO https://github.com/NethermindEth/nethermind/releases/download/1.25.4/nethermind-1.25.4-20b10b35-linux-x64.zip
echo "05848eaab4b1b621054ff507e8592d17 nethermind-1.25.4-20b10b35-linux-x64.zip" | md5sum --check

Ang bawat ini-download na file ay mayroong kaniya-kaniyang checksum (tingnan sa ibaba). Palitan ang aktwal na checksum at URL ng link ng pag-download sa code block sa itaas.

Tiyaking pumili ng bersyong amd64. Mag-right click sa naka-link na teksto at piliin ang "copy link address" upang kunin ang URL ng link ng pag-download sa curl.

Inaasahang output: I-verify ang output ng checksum verification

nethermind-1.25.4-20b10b35-linux-x64.zip: OK

Kung na-verify ang checksum, i-ekstrak ang mga files at ilipat ang mga ito sa (/usr/local/bin) directory para sa kalinisan at pinakamahusay na praktis. Pagkatapos, linisin ang mga kopyang-duplikado.

unzip nethermind-1.25.4-20b10b35-linux-x64.zip -d nethermind
sudo cp -a nethermind /usr/local/bin/nethermind
rm -r nethermind-1.25.4-20b10b35-linux-x64.zip nethermind

Lumikha ng isang account (nethermind) na walang access sa server para sa Nethermind upang tumakbo bilang isang background service. Ang uri ng user account na ito ay walang root access kaya't ito ay nagbabawal sa potensyal na mga attacker na mag-access lamang sa serbisyong Nethermind sa hindi malamang na pangyayari na kanilang magawa na makapasok sa pamamagitan ng isang compromised na update ng client.

sudo useradd --no-create-home --shell /bin/false nethermind

Lumikha ng isang directory para sa Nethermind upang mag-imbak ng blockchain data ng execution layer. Pagkatapos, itakda ang may-ari ng directory na ito sa nethermind upang ang user na ito ay makapagbasa at makapagsulat sa directory.

sudo mkdir -p /var/lib/nethermind
sudo chown -R nethermind:nethermind /var/lib/nethermind

Lumikha ng isang konfigurasyon ng systemd file para sa Nethermind service upang tumakbo sa background.

sudo nano /etc/systemd/system/nethermind.service

I-paste ang mga parameter ng konfigurasyon sa ibaba sa file:

[Unit]
Description=Nethermind Execution Client (Holesky)
After=network.target
Wants=network.target

[Service]
User=nethermind
Group=nethermind
Type=simple
Restart=always
RestartSec=5
WorkingDirectory=/var/lib/nethermind
Environment="DOTNET_BUNDLE_EXTRACT_BASE_DIR=/var/lib/nethermind"
ExecStart=/usr/local/bin/nethermind/Nethermind.Runner \
  --config holesky \
  --datadir /var/lib/nethermind \
  --JsonRpc.JwtSecretFile /var/lib/jwtsecret/jwt.hex \
  --Sync.SnapSync true \
  --JsonRpc.Enabled true \
  --JsonRpc.Host <Internal_IP_address> \
  --JsonRpc.Port 8545 \
  --HealthChecks.Enabled true \
  --Metrics.Enabled true \
  --Metrics.PushGatewayUrl http://localhost:9091/metrics 
  
[Install]
WantedBy=default.target

Kapag tapos ka na, i-save ito gamit ang Ctrl+O at Enter, pagkatapos ay mag-exit gamit ang Ctrl+X. Unawain at suriin ang iyong configuration summary sa ibaba, at baguhin kung kinakailangan.

Buod ng konfigurasyon ng Nethermind:

  1. --config: I-takbo sa Holesky testnet

  2. --datadir: Ang directory para sa Nethermind upang mag-imbak ng blockchain data ng execution layer

  3. --JsonRpc.JwtSecretFile: Ang directory na nagtuturo sa JWT secret na nilikha natin noon

  4. --Sync.SnapSync: Gamitin ang snap sync feature ng Nethermind. Karagdagang impormasyon dito

  5. --JsonRpc.Enabled: Pinapagana ang JSON-RPC service sa http at websocket. Ito ay upang ang mga DVT client tulad ng Diva service ay makakonekta sa iyong execution client

  6. --JsonRpc.Host: Itinatakda ang IP address na konektado sa JSON RPC service. Gamitin ang internal IP address ng iyong device dito (tingnan sa pamamagitan ng pagtakbo ng ip a) - halimbawa 192.168.x.x. Ang default ay 127.0.0.1 kung hindi

  7. --JsonRpc.Port: Itinatakda ang port na konektado sa JSON RPC service na gagamitin ng Diva service. Maaari kang pumili ng anumang hindi ginagamit na numero ng port ngunit tandaan na payagan ang mga incoming connections sa iyong piniling port sa iyong firewall (ufw) rules. Ang default ay 8545

  8. --HealthChecks.Enabled: Pinapagana kang i-test ang koneksyon at kalusugan ng iyong Nethermind service gamit ang curl command - halimbawa curl http://<Internal_IP_address>:8545/health

  9. --Metrics.Enabled: Pinapagana ang monitoring metrics sa Nethermind service

  10. --Metrics.PushGatewayUrl: I-push ang metrics sa iyong monitoring suite

Simulan ang Nethermind

I-reload ang systemd daemon upang ma-register ang mga binago, simulan ang Nethermind, at suriin ang kanyang status upang tiyakin na ito ay tumatakbo.

sudo systemctl daemon-reload
sudo systemctl start nethermind.service
sudo systemctl status nethermind.service

Inaasahang output: Ang output ay dapat magsabing ang Nethermind ay "active (running)". Pindutin ang CTRL-C upang lumabas at magpapatuloy ang Nethermind sa pagtakbo. Dapat itong tumagal ng mga 5 oras para mag-sync ang Nethermind sa Holesky testnet.

Gamitin ang sumusunod na command upang suriin ang mga log ng syncing process ng Nethermind. Mag-ingat sa anumang mga babala o mga error.

sudo apt install ccze -y
sudo journalctl -fu nethermind -o cat | ccze -A

Inaasahang output:

Pindutin ang CTRL-C upang lumabas.

Tandaan: Makikita mo rin ang sumusunod na error na may kinalaman sa Pushgateway. Ito ay inaasahang dahil hindi pa natin na-install at na-konfigure ang Pushgateway service na ginagamit para sa monitoring sa puntong ito.

dito.

Kung ang Nethermind service ay umaandar nang maayos, maaari na nating paganahin ito upang umandar nang awtomatiko kapag nire-reboot ang sistema.

sudo systemctl enable nethermind.service

Inaasahang output:

Created symlink /etc/systemd/system/default.target.wants/nethermind.service → /etc/systemd/system/nethermind.service.

Mga mapagkukunan:

Last updated