Mag-set up at i-configure ang consensus layer client (Teku)

Mag-install ng mga dependencies - Java Runtime Environment

sudo apt install openjdk-17-jdk

I-download ang Teku

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

cd
curl -LO https://artifacts.consensys.net/public/teku/raw/names/teku.tar.gz/versions/24.3.1/teku-24.3.1.tar.gz
echo "c0d1754569223e01c4ccab4a3adac8cd120586b8c9806aa32161189e6b4109b5 teku-24.3.1.tar.gz" | sha256sum --check

Ang bawat ini-download na file ay mayroong kaniya-kaniyang checksum. 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.

teku-24.3.1.tar.gz: OK

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

tar xvf teku-24.3.1.tar.gz
sudo cp -a teku-24.3.1 /usr/local/bin/teku
rm -r teku-24.3.1.tar.gz teku-24.3.1

I-configure ang Teku Consensus Client

Magpapatakbo tayo ng consensus client at consensus client ng Teku bilang hiwalay na mga serbisyo upang magkaroon ng mas malawak na kakayahan na mag-configure ng isang failover node para sa maximum uptime kapag ito ay kinakailangan mo na.

Gumawa ng isang account (teku) na walang access sa server para sa Teku Consensus Client & Validator Client 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 mga serbisyo ng Teku Consensus Client & Validator Client 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 teku

Lumikha ng isang directory para sa Teku upang mag-imbak ng data ng blockchain at validator ng Consensus layer. Ilipat ang directory ng validator_keys sa folder na ito. Pagkatapos, itakda ang may-ari ng directory na ito sa teku upang ang user na ito ay makapagbasa at makapagsulat sa directory.

sudo mkdir -p /var/lib/teku_beacon
sudo chown -R teku:teku /var/lib/teku_beacon
sudo chmod 700 /var/lib/teku_beacon

Kung walang mga error, lumikha ng isang konfigurasyon ng systemd file para sa Teku Consensus Client service upang tumakbo sa background.

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

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

[Unit]
Description=Teku Beacon Node (Holesky)
Wants=network-online.target
After=network-online.target
[Service]
User=teku
Group=teku
Type=simple
Restart=always
RestartSec=5
Environment="JAVA_OPTS=-Xmx6g"
Environment="TEKU_OPTS=-XX:-HeapDumpOnOutOfMemoryError"
ExecStart=/usr/local/bin/teku/bin/teku \
  --network=holesky \
  --data-path=/var/lib/teku_beacon \
  --ee-endpoint=http://127.0.0.1:8551 \
  --ee-jwt-secret-file=/var/lib/jwtsecret/jwt.hex \
  --initial-state=https://holesky.beaconstate.ethstaker.cc/ \
  --metrics-enabled=true \
  --rest-api-enabled=true \
  --rest-api-interface=<Internal_IP_address> \
  --rest-api-host-allowlist=<Internal_IP_address> \
  --rest-api-port=5052 \
  --builder-endpoint=http://127.0.0.1:18550 \
  --validators-builder-registration-default-enabled=true \
  --p2p-nat-method=UPNP 

[Install]
WantedBy=multi-user.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 Teku Consensus Client:

  1. --network: I-takbo ang Consensus Client service sa Holesky testnet

  2. --data-path: Itakda ang directory para sa Teku upang mag-imbak ng data kaugnay ng consensus client

  3. --ee-endpoint: URL upang kumonekta sa execution layer client

  4. --ee-jwt-secret: Landas ng file upang matagpuan ang JWT secret na nilikha natin noon

  5. --initial-state: Pinapagana ang halos instant syncing ng Consensus Client sa pamamagitan ng pagturo sa isa sa mga checkpoint sync URLs dito - https://eth-clients.github.io/checkpoint-sync-endpoints/

  6. --metrics-enabled: Pinapagana ang monitoring ng mga metrics ng Consensus Client

  7. --rest-api-enabled: Pinapayagan ang validator client na kumonekta sa consensus client na ito. Pinapayagan din ang mga monitoring endpoints na kunin ang mga metrics mula sa serbisyong ito

  8. --rest-api-interface: Itinatakda ang IP address upang kumonekta sa REST API ng consensus client na gagamitin ng Diva 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

  9. --rest-api-port: Itinatakda ang port upang kumonekta sa consensus client

  10. --builder-endpoint: URL upang kumonekta sa mga external builders (hal. MEV relays)

  11. --validators-builder-registration-default-enabled: Kinakailangan kapag gumagamit ng mga external builders upang bumuo ng mga blocks (hal. MEV relays)

  12. --p2p-nat-method=UPNP: Pinapagana ang iyong Consensus Client na mas mahusay na matuklasan at kumonekta sa iba pang mga Consensus Client sa ETH network nang hindi kinakailangang gumamit ng port forwarding

Simulan ang Teku Consensus Client

I-reload ang systemd upang ma-register ang mga binago, simulan ang serbisyo ng Teku Consensus Client, at suriin ang status nito upang tiyakin na ito ay tumatakbo.

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

Inaasahang output: Ang output ay dapat magsabi na ang Teku Consensus Client ay "active (running)". Pindutin ang CTRL-C upang lumabas at magpapatuloy ang Teku Consensus Client sa pagtakbo. Dapat itong tumagal lamang ng ilang minuto para mag-sync ang Teku sa Holesky testnet.

Halimbawa na labas ng Teku consensus client na tumatakbo sa mainnet

Gamitin ang sumusunod na command upang suriin ang mga log ng proseso ng pag-sync ng Teku Consensus Client. Mag-ingat sa anumang mga babala o mga error.

sudo journalctl -fu tekubeacon -o cat | ccze -A

Inaasahang output:

Etong halimbawa ay tumatakbo sa goerli testnet. Dapat ay nakikita mo ang ibang initial state URL na nai-pprint sa Mainnet.

Pindutin ang Ctrl+C upang lumabas sa monitoring.

Kung ang serbisyo ng Teku Consensus Client ay umaandar nang maayos, maaari na nating paganahin ito upang umandar nang awtomatiko kapag nire-reboot ang sistema.

sudo systemctl enable tekubeacon.service

I-verify ang mga Initial State roots (Checkpoint Sync)

  1. Pumunta sa https://holesky.beaconcha.in/ sa iyong browser at humanap ng numero ng slot (slot).

  2. Tiyakin ang Block Root at State Root gamit ang iyong journalctl output

    halimbawa ng testnet: prater.beaconcha.in
  3. journalctl output

Mga Mapagkukunan

Last updated