Spusťte si vlastní uzel Etherea
Stránka naposledy aktualizována: 26. února 2026
Provozování vlastního uzlu vám přináší různé výhody, otevírá nové možnosti a pomáhá podporovat ekosystém. Tato stránka vás provede spuštěním vlastního uzlu a účastí na validaci ethereových transakcí.
Všimněte si, že po Sloučení jsou k provozu uzlu Etherea zapotřebí dva klienti: klient exekuční vrstvy (EL) a klient konsensuální vrstvy (CL). Tato stránka vám ukáže, jak nainstalovat, nakonfigurovat a připojit tyto dva klienty k provozu uzlu Etherea.
Předpoklady
Měli byste rozumět tomu, co je uzel Etherea a proč byste mohli chtít provozovat klienta. Toto je popsáno v části Uzly a klienti.
Pokud jste v tématu provozování uzlu nováčkem nebo hledáte méně technickou cestu, doporučujeme nejprve se podívat na náš uživatelsky přívětivý úvod do provozování uzlu Etherea.
Výběr přístupu
Prvním krokem při spouštění uzlu je výběr přístupu. Na základě požadavků a různých možností si musíte vybrat implementaci klienta (exekučního i konsensuálního klienta), prostředí (hardware, systém) a parametry pro nastavení klienta.
Tato stránka vás provede těmito rozhodnutími a pomůže vám najít nejvhodnější způsob, jak provozovat vaši instanci Etherea.
Chcete-li si vybrat z implementací klientů, podívejte se na všechny dostupné exekuční klienty a konsensuální klienty připravené pro Mainnet a přečtěte si o diverzitě klientů.
Rozhodněte se, zda chcete software provozovat na vlastním hardwaru nebo v cloudu, a zvažte požadavky klientů.
Po přípravě prostředí nainstalujte vybrané klienty buď pomocí rozhraní pro začátečníky, nebo ručně pomocí terminálu s pokročilými možnostmi.
Když je uzel spuštěn a synchronizuje se, jste připraveni jej používat, ale nezapomeňte dohlížet na jeho údržbu.
Prostředí a hardware
Lokálně nebo v cloudu
Klienti Etherea mohou běžet na běžných počítačích a nevyžadují žádný speciální hardware, jako například těžařské stroje. Proto máte na základě svých potřeb různé možnosti nasazení uzlu. Pro zjednodušení si představme provoz uzlu na lokálním fyzickém stroji i na cloudovém serveru:
- Cloud
- Poskytovatelé nabízejí vysokou dostupnost serverů a statické veřejné IP adresy
- Pořízení dedikovaného nebo virtuálního serveru může být pohodlnější než stavba vlastního
- Kompromisem je důvěra třetí straně – poskytovateli serveru
- Vzhledem k požadované velikosti úložiště pro plný uzel může být cena pronajatého serveru vysoká
- Vlastní hardware
- Více suverénní přístup, který nevyžaduje důvěru.
- Jednorázová investice
- Možnost zakoupení předkonfigurovaných strojů
- Musíte fyzicky připravit, udržovat a případně řešit problémy se strojem a sítí
Obě možnosti mají různé výhody, které jsou shrnuty výše. Pokud hledáte cloudové řešení, kromě mnoha tradičních poskytovatelů cloudových služeb existují také služby zaměřené na nasazování uzlů. Podívejte se na uzly jako službu, kde naleznete více možností pro hostované uzly.
Hardware
Decentralizovaná síť odolná vůči cenzuře by se však neměla spoléhat na poskytovatele cloudových služeb. Místo toho je pro ekosystém zdravější provozovat uzel na vlastním lokálním hardwaru. Odhady (opens in a new tab) ukazují, že velká část uzlů běží v cloudu, což by se mohlo stát jediným bodem selhání.
Klienti Etherea mohou běžet na vašem počítači, notebooku, serveru nebo dokonce na jednodeskovém počítači. I když je možné provozovat klienty na osobním počítači, mít vyhrazený stroj pouze pro váš uzel může výrazně zvýšit jeho výkon a bezpečnost a zároveň minimalizovat dopad na váš primární počítač.
Používání vlastního hardwaru může být velmi snadné. Existuje mnoho jednoduchých možností i pokročilých nastavení pro technicky zdatnější lidi. Pojďme se tedy podívat na požadavky a prostředky pro provozování klientů Etherea na vašem stroji.
Požadavky
Hardwarové požadavky se liší podle klienta, ale obecně nejsou tak vysoké, protože uzel musí pouze zůstat synchronizovaný. Nezaměňujte to s těžbou, která vyžaduje mnohem větší výpočetní výkon. Doba synchronizace a výkon se však s výkonnějším hardwarem zlepšují.
Před instalací jakéhokoli klienta se prosím ujistěte, že váš počítač má dostatek zdrojů pro jeho provoz. Minimální a doporučené požadavky naleznete níže.
Úzkým hrdlem pro váš hardware je většinou místo na disku. Synchronizace blockchainu Etherea je velmi náročná na vstup/výstup a vyžaduje hodně místa. Nejlepší je mít disk SSD (solid-state drive) se stovkami GB volného místa i po synchronizaci.
Velikost databáze a rychlost počáteční synchronizace závisí na zvoleném klientovi, jeho konfiguraci a strategii synchronizace.
Také se ujistěte, že vaše internetové připojení není omezeno datovým limitem (opens in a new tab). Doporučuje se používat připojení bez měření, protože počáteční synchronizace a data vysílaná do sítě by mohla překročit váš limit.
Operační systém
Všichni klienti podporují hlavní operační systémy – Linux, MacOS, Windows. To znamená, že uzly můžete provozovat na běžných stolních počítačích nebo serverech s operačním systémem (OS), který vám nejvíce vyhovuje. Ujistěte se, že je váš operační systém aktuální, abyste se vyhnuli potenciálním problémům a bezpečnostním zranitelnostem.
Minimální požadavky
- CPU s 2 a více jádry
- 8 GB RAM
- 2TB SSD
- Šířka pásma 10+ MBit/s
Doporučené specifikace
- Rychlý CPU se 4 a více jádry
- 16 GB+ RAM
- Rychlý SSD s 2+ TB
- Šířka pásma 25+ MBit/s
Režim synchronizace a klient, kterého si vyberete, ovlivní požadavky na prostor, ale níže jsme odhadli místo na disku, které budete pro každého klienta potřebovat.
| Klient | Velikost disku (snap sync) | Velikost disku (plný archiv) |
|---|---|---|
| Besu | 800 GB+ | 12 TB+ |
| Erigon | Není k dispozici | 2,5 TB+ |
| Geth | 500 GB+ | 12 TB+ |
| Nethermind | 500 GB+ | 12 TB+ |
| Reth | Není k dispozici | 2,2 TB+ |
- Poznámka: Erigon a Reth nenabízejí snap sync, ale je možné úplné prořezávání (Full Pruning) (~2 TB pro Erigon, ~1,2 TB pro Reth)
U konsensuálních klientů závisí požadavek na prostor také na implementaci klienta a povolených funkcích (např. validator slasher), ale obecně počítejte s dalšími 200 GB potřebnými pro data beaconu. S velkým počtem validátorů roste i zatížení šířky pásma. Podrobnosti o požadavcích na konsensuální klienty naleznete v této analýze (opens in a new tab).
Plug-and-play řešení
Nejjednodušší možností pro provozování uzlu na vlastním hardwaru je použití plug-and-play boxů. Předkonfigurované stroje od prodejců nabízejí nejpřímočařejší zážitek: objednat, připojit, spustit. Vše je předkonfigurováno a běží automaticky s intuitivním průvodcem a řídicím panelem pro monitorování a ovládání softwaru.
Ethereum na jednodeskovém počítači
Snadný a levný způsob, jak provozovat uzel Etherea, je použít jednodeskový počítač, a to i s architekturou ARM, jako je Raspberry Pi. Ethereum on ARM (opens in a new tab) poskytuje snadno spustitelné obrazy několika exekučních a konsensuálních klientů pro Raspberry Pi a další desky ARM.
Malá, cenově dostupná a efektivní zařízení, jako jsou tato, jsou ideální pro provoz uzlu doma, ale mějte na paměti jejich omezený výkon.
Spuštění uzlu
Vlastní nastavení klienta lze provést buď pomocí automatizovaných spouštěčů, nebo ručně, přímým nastavením softwaru klienta.
Pro méně pokročilé uživatele je doporučeným přístupem použití spouštěče, softwaru, který vás provede instalací a automatizuje proces nastavení klienta. Pokud však máte nějaké zkušenosti s používáním terminálu, kroky pro ruční nastavení by měly být snadno proveditelné.
Nastavení s průvodcem
Několik uživatelsky přívětivých projektů si klade za cíl zlepšit zážitek z nastavování klienta. Tyto spouštěče poskytují automatickou instalaci a konfiguraci klienta, přičemž některé dokonce nabízejí grafické rozhraní pro nastavení s průvodcem a monitorování klientů.
Níže je uvedeno několik projektů, které vám mohou pomoci nainstalovat a ovládat klienty na pár kliknutí:
- DappNode (opens in a new tab) – DappNode není dodáván pouze se strojem od prodejce. Software, samotný spouštěč uzlu a řídicí centrum s mnoha funkcemi lze použít na libovolném hardwaru.
- EthPillar (opens in a new tab) – Nejrychlejší a nejjednodušší způsob nastavení plného uzlu. Jednořádkový instalační nástroj a TUI pro správu uzlů. Zdarma. Open source. Veřejné statky pro Ethereum od sólo stakerů. Podpora ARM64 a AMD64.
- eth-docker (opens in a new tab) – Automatizované nastavení pomocí Dockeru zaměřené na snadný a bezpečný staking, vyžaduje základní znalosti terminálu a Dockeru, doporučeno pro mírně pokročilejší uživatele.
- Stereum (opens in a new tab) – Spouštěč pro instalaci klientů na vzdálený server přes SSH připojení s průvodcem nastavení v GUI, řídicím centrem a mnoha dalšími funkcemi.
- NiceNode (opens in a new tab) – Spouštěč s přímočarým uživatelským zážitkem pro spuštění uzlu na vašem počítači. Stačí si vybrat klienty a spustit je na pár kliknutí. Stále ve vývoji.
- Sedge (opens in a new tab) – Nástroj pro nastavení uzlu, který automaticky generuje konfiguraci Dockeru pomocí průvodce CLI. Napsáno v Go od Nethermind.
Ruční nastavení klientů
Druhou možností je ruční stažení, ověření a konfigurace softwaru klienta. I když někteří klienti nabízejí grafické rozhraní, ruční nastavení stále vyžaduje základní dovednosti s terminálem, ale nabízí mnohem větší všestrannost.
Jak bylo vysvětleno dříve, nastavení vlastního uzlu Etherea bude vyžadovat spuštění páru konsensuálního a exekučního klienta. Někteří klienti mohou obsahovat odlehčeného klienta (light client) druhého typu a synchronizovat se bez potřeby dalšího softwaru. Úplné ověření nevyžadující důvěru však vyžaduje obě implementace.
Získání softwaru klienta
Nejprve musíte získat software preferovaného exekučního klienta a konsensuálního klienta.
Můžete si jednoduše stáhnout spustitelnou aplikaci nebo instalační balíček, který vyhovuje vašemu operačnímu systému a architektuře. Vždy ověřujte podpisy a kontrolní součty stažených balíčků. Někteří klienti také nabízejí repozitáře nebo obrazy Docker pro snadnější instalaci a aktualizace. Všichni klienti jsou open source, takže si je můžete také sestavit ze zdrojového kódu. Toto je pokročilejší metoda, ale v některých případech může být vyžadována.
Pokyny k instalaci každého klienta jsou uvedeny v dokumentaci, na kterou odkazují seznamy klientů výše.
Zde jsou stránky s vydáními klientů, kde naleznete jejich předpřipravené binární soubory nebo pokyny k instalaci:
Exekuční klienti
- Besu (opens in a new tab)
- Erigon (opens in a new tab)
- Geth (opens in a new tab)
- Nethermind (opens in a new tab)
- Reth (opens in a new tab)
Je také třeba poznamenat, že diverzita klientů je problémem na exekuční vrstvě. Doporučuje se, aby čtenáři zvážili provozování menšinového exekučního klienta.
Konsenzuální klienti
- Lighthouse (opens in a new tab)
- Lodestar (opens in a new tab) (Neposkytuje předpřipravený binární soubor, pouze obraz Dockeru nebo je nutné jej sestavit ze zdrojového kódu)
- Nimbus (opens in a new tab)
- Prysm (opens in a new tab)
- Teku (opens in a new tab)
Diverzita klientů je klíčová pro konsensuální uzly provozující validátory. Pokud většina validátorů provozuje jedinou implementaci klienta, je ohrožena bezpečnost sítě. Proto se doporučuje zvážit výběr menšinového klienta.
Podívejte se na nejnovější využití síťových klientů (opens in a new tab) a zjistěte více o diverzitě klientů.
Ověření softwaru
Při stahování softwaru z internetu se doporučuje ověřit jeho integritu. Tento krok je nepovinný, ale zejména u klíčové části infrastruktury, jako je klient Etherea, je důležité si uvědomit potenciální vektory útoku a vyhnout se jim. Pokud jste si stáhli předpřipravený binární soubor, musíte mu důvěřovat a riskovat, že by útočník mohl spustitelný soubor vyměnit za škodlivý.
Vývojáři podepisují vydané binární soubory svými klíči PGP, takže si můžete kryptograficky ověřit, že spouštíte přesně ten software, který vytvořili. Stačí získat veřejné klíče používané vývojáři, které naleznete na stránkách s vydáními klientů nebo v dokumentaci. Po stažení vydání klienta a jeho podpisu je můžete snadno ověřit pomocí implementace PGP, např. GnuPG (opens in a new tab). Podívejte se na návod k ověřování open-source softwaru pomocí gpg na Linuxu (opens in a new tab) nebo Windows/MacOS (opens in a new tab).
Další formou ověření je ujistit se, že haš, jedinečný kryptografický otisk, softwaru, který jste stáhli, se shoduje s tím, který poskytli vývojáři. To je ještě jednodušší než použití PGP a někteří klienti nabízejí pouze tuto možnost. Stačí spustit hašovací funkci na staženém softwaru a porovnat ji s tou ze stránky vydání. Například:
1sha256sum teku-22.6.1.tar.gz239b2f8c1f8d4dab0404ce70ea314ff4b3c77e9d27aff9d1e4c1933a5439767ddeNastavení klienta
Po instalaci, stažení nebo zkompilování softwaru klienta jste připraveni jej spustit. To pouze znamená, že musí být spuštěn se správnou konfigurací. Klienti nabízejí bohaté možnosti konfigurace, které mohou povolit různé funkce.
Začněme možnostmi, které mohou výrazně ovlivnit výkon klienta a využití dat. Režimy synchronizace představují různé metody stahování a validace dat blockchainu. Před spuštěním uzlu byste se měli rozhodnout, jakou síť a režim synchronizace použít. Nejdůležitějšími věcmi, které je třeba zvážit, jsou místo na disku a doba synchronizace, kterou bude klient potřebovat. Věnujte pozornost dokumentaci klienta, abyste zjistili, který režim synchronizace je výchozí. Pokud vám to nevyhovuje, vyberte si jiný na základě úrovně zabezpečení, dostupných dat a nákladů. Kromě synchronizačního algoritmu můžete také nastavit prořezávání (pruning) různých druhů starých dat. Prořezávání (pruning) umožňuje mazat zastaralá data, tj. odstraňovat uzly stavového trie, které jsou nedosažitelné z posledních bloků.
Další základní možnosti konfigurace jsou např. výběr sítě – Mainnet nebo testnety, povolení HTTP endpointu pro RPC nebo WebSockets atd. Všechny funkce a možnosti naleznete v dokumentaci klienta. Různé konfigurace klienta lze nastavit spuštěním klienta s odpovídajícími příznaky přímo v CLI nebo konfiguračním souboru. Každý klient je trochu jiný; podrobnosti o možnostech konfigurace naleznete vždy v jeho oficiální dokumentaci nebo na stránce nápovědy.
Pro účely testování můžete preferovat spuštění klienta na jedné z testovacích sítí. Podívejte se na přehled podporovaných sítí.
Příklady spuštění exekučních klientů se základní konfigurací naleznete v další části.
Spuštění exekučního klienta
Před spuštěním softwaru klienta Etherea proveďte poslední kontrolu, zda je vaše prostředí připraveno. Například se ujistěte, že:
- Je dostatek místa na disku s ohledem na zvolenou síť a režim synchronizace.
- Paměť a CPU nejsou vytíženy jinými programy.
- Operační systém je aktualizován na nejnovější verzi.
- Systém má správný čas a datum.
- Váš router a firewall přijímají připojení na naslouchajících portech. Ve výchozím nastavení používají klienti Etherea naslouchací port (TCP) a port pro zjišťování (UDP), oba ve výchozím nastavení na 30303.
Nejprve spusťte klienta na testnetu, abyste se ujistili, že vše funguje správně.
Na začátku musíte deklarovat všechna nastavení klienta, která nejsou výchozí. Pro deklarování preferované konfigurace můžete použít příznaky nebo konfigurační soubor. Sada funkcí a syntaxe konfigurace se u každého klienta liší. Specifika naleznete v dokumentaci vašeho klienta.
Exekuční a konsensuální klienti komunikují prostřednictvím ověřeného koncového bodu specifikovaného v Engine API (opens in a new tab). Aby se mohl exekuční klient připojit ke konsensuálnímu klientovi, musí vygenerovat jwtsecret (opens in a new tab) ve známé cestě. Z bezpečnostních a stabilizačních důvodů by klienti měli běžet na stejném stroji a oba klienti musí znát tuto cestu, protože se používá k ověření lokálního připojení RPC mezi nimi. Exekuční klient musí také definovat naslouchací port pro ověřená API.
Tento token je generován automaticky softwarem klienta, ale v některých případech jej možná budete muset vytvořit sami. Můžete jej vygenerovat pomocí OpenSSL (opens in a new tab):
1openssl rand -hex 32 > jwtsecretSpuštění exekučního klienta
Tato část vás provede spuštěním exekučních klientů. Slouží pouze jako příklad základní konfigurace, která spustí klienta s těmito nastaveními:
- Určuje síť pro připojení, v našich příkladech Mainnet
- Pro předběžné testování vašeho nastavení si můžete místo toho vybrat jeden z testnetů
- Definuje datový adresář, kde budou uložena všechna data včetně blockchainu
- Ujistěte se, že cestu nahradíte skutečnou, např. odkazující na váš externí disk
- Povoluje rozhraní pro komunikaci s klientem
- Včetně JSON-RPC a Engine API pro komunikaci s konsensuálním klientem
- Definuje cestu k
jwtsecretpro ověřené API- Ujistěte se, že příkladovou cestu nahradíte skutečnou, ke které mají klienti přístup, např.
/tmp/jwtsecret
- Ujistěte se, že příkladovou cestu nahradíte skutečnou, ke které mají klienti přístup, např.
Mějte na paměti, že se jedná pouze o základní příklad, všechna ostatní nastavení budou nastavena na výchozí hodnoty. Věnujte pozornost dokumentaci každého klienta, abyste se dozvěděli o výchozích hodnotách, nastaveních a funkcích. Pro více funkcí, například pro provozování validátorů, monitorování atd., se prosím obraťte na dokumentaci konkrétního klienta.
Všimněte si, že zpětná lomítka `` v příkladech slouží pouze pro účely formátování; konfigurační příznaky lze definovat na jednom řádku.
Spuštění Besu
Tento příklad spouští Besu na Mainnetu, ukládá data blockchainu ve výchozím formátu na /data/ethereum, povoluje JSON-RPC a Engine RPC pro připojení konsensuálního klienta. Engine API je ověřeno tokenem jwtsecret a jsou povolána pouze volání z localhost.
1besu --network=mainnet \2 --data-path=/data/ethereum \3 --rpc-http-enabled=true \4 --engine-rpc-enabled=true \5 --engine-host-allowlist="*" \6 --engine-jwt-enabled=true \7 --engine-jwt-secret=/path/to/jwtsecretBesu také přichází s možností spouštěče, který položí řadu otázek a vygeneruje konfigurační soubor. Spusťte interaktivní spouštěč pomocí:
1besu --XlauncherDokumentace Besu (opens in a new tab) obsahuje další možnosti a podrobnosti o konfiguraci.
Spuštění Erigonu
Tento příklad spouští Erigon na Mainnetu, ukládá data blockchainu na /data/ethereum, povoluje JSON-RPC, definuje, které jmenné prostory jsou povoleny, a povoluje ověřování pro připojení konsensuálního klienta, což je definováno cestou k jwtsecret.
1erigon --chain mainnet \2 --datadir /data/ethereum \3 --http --http.api=engine,eth,web3,net \4 --authrpc.jwtsecret=/path/to/jwtsecretErigon ve výchozím nastavení provádí plnou synchronizaci s 8GB HDD, což bude mít za následek více než 2 TB archivních dat. Ujistěte se, že datadir ukazuje na disk s dostatkem volného místa, nebo se podívejte na příznak --prune, který může oříznout různé druhy dat. Pro více informací se podívejte na --help Erigonu.
Spuštění Gethu
Tento příklad spouští Geth na Mainnetu, ukládá data blockchainu na /data/ethereum, povoluje JSON-RPC a definuje, které jmenné prostory jsou povoleny. Také povoluje ověřování pro připojení konsensuálního klienta, což vyžaduje cestu k jwtsecret a také možnost definující, která připojení jsou povolena, v našem příkladu pouze z localhost.
1geth --mainnet \2 --datadir "/data/ethereum" \3 --http --authrpc.addr localhost \4 --authrpc.vhosts="localhost" \5 --authrpc.port 85516 --authrpc.jwtsecret=/path/to/jwtsecretPodívejte se na dokumentaci pro všechny možnosti konfigurace (opens in a new tab) a dozvíte se více o provozování Gethu s konsensuálním klientem (opens in a new tab).
Spuštění Nethermindu
Nethermind nabízí různé možnosti instalace (opens in a new tab). Balíček obsahuje různé binární soubory, včetně spouštěče s průvodcem nastavení, který vám pomůže interaktivně vytvořit konfiguraci. Alternativně najdete Runner, což je samotný spustitelný soubor, a můžete jej spustit s konfiguračními příznaky. JSON-RPC je ve výchozím nastavení povoleno.
1Nethermind.Runner --config mainnet \2 --datadir /data/ethereum \3 --JsonRpc.JwtSecretFile=/path/to/jwtsecretDokumentace Nethermind nabízí kompletního průvodce (opens in a new tab) provozováním Nethermindu s konsensuálním klientem.
Exekuční klient spustí své základní funkce, zvolené koncové body a začne hledat peery. Po úspěšném nalezení peerů klient zahájí synchronizaci. Exekuční klient bude čekat na připojení od konsensuálního klienta. Aktuální data blockchainu budou k dispozici, jakmile bude klient úspěšně synchronizován s aktuálním stavem.
Spuštění Reth
Tento příklad spouští Reth na Mainnetu s použitím výchozího umístění dat. Povoluje JSON-RPC a ověřování Engine RPC pro připojení konsensuálního klienta, což je definováno cestou k jwtsecret, přičemž jsou povolena pouze volání z localhost.
1reth node \2 --authrpc.jwtsecret /path/to/jwtsecret \3 --authrpc.addr 127.0.0.1 \4 --authrpc.port 8551Podívejte se na Konfigurace Reth (opens in a new tab), abyste se dozvěděli více o výchozích datových adresářích. Dokumentace Reth (opens in a new tab) obsahuje další možnosti a podrobnosti o konfiguraci.
Spuštění konsensuálního klienta
Konsensuální klient musí být spuštěn se správnou konfigurací portu, aby se navázalo lokální připojení RPC k exekučnímu klientovi. Konsensuální klienti musí být spuštěni s portem vystaveným exekučním klientem jako konfiguračním argumentem.
Konsensuální klient také potřebuje cestu k souboru jwt-secret exekučního klienta, aby mohl ověřit připojení RPC mezi nimi. Podobně jako v příkladech s exekučními klienty výše, každý konsensuální klient má konfigurační příznak, který jako argument přijímá cestu k souboru s tokenem jwt. Ta musí být shodná s cestou k jwtsecret poskytnutou exekučnímu klientovi.
Pokud plánujete provozovat validátora, ujistěte se, že jste přidali konfigurační příznak specifikující adresu Etherea příjemce poplatků. Zde se hromadí odměny v etheru pro vašeho validátora. Každý konsensuální klient má možnost, např. --suggested-fee-recipient=0xabcd1, která jako argument přijímá adresu Etherea.
Při spouštění Beacon Node na testnetu můžete ušetřit značný čas synchronizace použitím veřejného koncového bodu pro Checkpoint sync (opens in a new tab).
Spuštění konsensuálního klienta
Spuštění Lighthouse
Před spuštěním Lighthouse se dozvíte více o tom, jak jej nainstalovat a nakonfigurovat v Lighthouse Booku (opens in a new tab).
1lighthouse beacon_node \2 --network mainnet \3 --datadir /data/ethereum \4 --http \5 --execution-endpoint http://127.0.0.1:8551 \6 --execution-jwt /path/to/jwtsecretSpuštění Lodestaru
Nainstalujte software Lodestar kompilací nebo stažením obrazu Docker. Více se dozvíte v dokumentaci (opens in a new tab) a v podrobnějším průvodci nastavením (opens in a new tab).
1lodestar beacon \2 --dataDir="/data/ethereum" \3 --network=mainnet \4 --eth1.enabled=true \5 --execution.urls="http://127.0.0.1:8551" \6 --jwt-secret="/path/to/jwtsecret"Spuštění Nimbus
Nimbus přichází s konsensuálním i exekučním klientem. Může být spuštěn na různých zařízeních, dokonce i s velmi skromným výpočetním výkonem. Po instalaci závislostí a samotného Nimbusu (opens in a new tab) můžete spustit jeho konsensuálního klienta:
1nimbus_beacon_node \2 --network=mainnet \3 --web3-url=http://127.0.0.1:8551 \4 --rest \5 --jwt-secret="/path/to/jwtsecret"Spuštění Prysm
Prysm přichází se skriptem, který umožňuje snadnou automatickou instalaci. Podrobnosti naleznete v dokumentaci Prysm (opens in a new tab).
1./prysm.sh beacon-chain \2 --mainnet \3 --datadir /data/ethereum \4 --execution-endpoint=http://localhost:8551 \5 --jwt-secret=/path/to/jwtsecretSpuštění Teku
1teku --network mainnet \2 --data-path "/data/ethereum" \3 --ee-endpoint http://localhost:8551 \4 --ee-jwt-secret-file "/path/to/jwtsecret"Když se konsensuální klient připojí k exekučnímu klientovi, aby si přečetl depozitní kontrakt a identifikoval validátory, připojí se také k ostatním peerům Beacon Node a zahájí synchronizaci konsensuálních slotů od geneze. Jakmile Beacon Node dosáhne aktuální epochy, stane se Beacon API použitelné pro vaše validátory. Dozvíte se více o Beacon Node API (opens in a new tab).
Přidání validátorů
Konsensuální klient slouží jako Beacon Node, ke kterému se validátoři připojují. Každý konsensuální klient má svůj vlastní software pro validátory, který je podrobně popsán v jeho příslušné dokumentaci.
Provozování vlastního validátoru umožňuje sólo staking (solo staking), nejúčinnější metodu podpory sítě Etherea, která nevyžaduje důvěru. To však vyžaduje vklad ve výši 32 ETH. Chcete-li spustit validátora na vlastním uzlu s menší částkou, mohl by vás zajímat decentralizovaný pool s operátory uzlů bez oprávnění, jako je Rocket Pool (opens in a new tab).
Nejjednodušší způsob, jak začít se stakingem a generováním klíčů validátora, je použít testnet Hoodi Staking Launchpad (opens in a new tab), který vám umožní otestovat vaše nastavení provozováním uzlů na Hoodi (opens in a new tab). Až budete připraveni na Mainnet, můžete tyto kroky zopakovat pomocí Mainnet Staking Launchpadu (opens in a new tab).
Podívejte se na stránku o stakingu pro přehled možností stakingu.
Používání uzlu
Exekuční klienti nabízejí koncové body RPC API, které můžete použít k odesílání transakcí, interakci s chytrými kontrakty nebo jejich nasazení na síti Etherea různými způsoby:
- Ručním voláním s vhodným protokolem (např. pomocí
curl) - Připojením poskytnuté konzole (např.
geth attach) - Implementací v aplikacích pomocí knihoven web3, např. web3.py (opens in a new tab), ethers (opens in a new tab)
Různí klienti mají různé implementace koncových bodů RPC. Existuje však standardní JSON-RPC, který můžete použít s každým klientem. Pro přehled si přečtěte dokumentaci JSON-RPC. Aplikace, které potřebují informace ze sítě Etherea, mohou používat toto RPC. Například populární peněženka MetaMask vám umožňuje připojit se k vlastnímu koncovému bodu RPC (opens in a new tab), což má velké výhody v oblasti soukromí a bezpečnosti.
Konsensuální klienti všichni vystavují Beacon API (opens in a new tab), které lze použít ke kontrole stavu konsensuálního klienta nebo ke stahování bloků a konsensuálních dat odesíláním požadavků pomocí nástrojů, jako je Curl (opens in a new tab). Více informací o tomto naleznete v dokumentaci pro každý konsensuální klient.
Dosažení RPC
Výchozí port pro JSON-RPC exekučního klienta je 8545, ale porty lokálních koncových bodů můžete v konfiguraci upravit. Ve výchozím nastavení je rozhraní RPC dostupné pouze na localhostu vašeho počítače. Chcete-li jej zpřístupnit vzdáleně, můžete jej vystavit veřejnosti změnou adresy na 0.0.0.0. Tím se stane dostupným přes lokální síť a veřejné IP adresy. Ve většině případů budete také muset nastavit přesměrování portů na vašem routeru.
K vystavování portů na internet přistupujte opatrně, protože to umožní komukoli na internetu ovládat váš uzel. Zlomyslní aktéři by mohli získat přístup k vašemu uzlu, aby shodili váš systém nebo ukradli vaše prostředky, pokud používáte svého klienta jako peněženku.
Jedním ze způsobů, jak se tomu vyhnout, je zabránit modifikaci potenciálně škodlivých metod RPC. Například s Geth můžete deklarovat modifikovatelné metody pomocí příznaku: --http.api web3,eth,txpool.
Přístup k rozhraní RPC lze rozšířit vývojem API na okrajové vrstvě nebo aplikací webového serveru, jako je Nginx, a jejich připojením k lokální adrese a portu vašeho klienta. Využití mezivrstvy může také vývojářům umožnit nastavit certifikát pro zabezpečené https připojení k rozhraní RPC.
Nastavení webového serveru, proxy nebo externě orientovaného Rest API není jediný způsob, jak poskytnout přístup k koncovému bodu RPC vašeho uzlu. Dalším způsobem, jak nastavit veřejně dostupný koncový bod se zachováním soukromí, je hostovat uzel na vaší vlastní službě onion Tor (opens in a new tab). To vám umožní dosáhnout RPC mimo vaši lokální síť bez statické veřejné IP adresy nebo otevřených portů. Použití této konfigurace však může umožnit přístup k koncovému bodu RPC pouze přes síť Tor, kterou nepodporují všechny aplikace a může to vést k problémům s připojením.
K tomu si musíte vytvořit vlastní službu onion (opens in a new tab). Podívejte se na dokumentaci (opens in a new tab) o nastavení služby onion pro hostování vaší vlastní. Můžete ji nasměrovat na webový server s proxy na port RPC nebo přímo na RPC.
A konečně, jedním z nejpopulárnějších způsobů poskytování přístupu k interním sítím je připojení VPN. V závislosti na vašem případu použití a počtu uživatelů, kteří potřebují přístup k vašemu uzlu, může být bezpečná VPN připojení volbou. OpenVPN (opens in a new tab) je plně funkční SSL VPN, která implementuje zabezpečené rozšíření sítě na 2. nebo 3. vrstvě OSI pomocí standardního protokolu SSL/TLS, podporuje flexibilní metody ověřování klientů na základě certifikátů, čipových karet a/nebo přihlašovacích údajů s uživatelským jménem/heslem a umožňuje zásady řízení přístupu specifické pro uživatele nebo skupiny pomocí pravidel firewallu aplikovaných na virtuální rozhraní VPN.
Provozování uzlu
Měli byste pravidelně monitorovat svůj uzel, abyste se ujistili, že funguje správně. Možná budete muset provádět občasnou údržbu.
Udržování uzlu online
Váš uzel nemusí být online neustále, ale měli byste ho udržovat online co nejvíce, aby zůstal v synchronizaci se sítí. Můžete jej vypnout, abyste jej restartovali, ale mějte na paměti, že:
- Vypnutí může trvat několik minut, pokud se poslední stav stále zapisuje na disk.
- Nucené vypnutí může poškodit databázi, což vyžaduje resynchronizaci celého uzlu.
- Váš klient se dostane mimo synchronizaci se sítí a bude se muset při restartu znovu synchronizovat. I když uzel může začít synchronizovat od místa, kde byl naposledy vypnut, proces může trvat určitou dobu v závislosti na tom, jak dlouho byl offline.
Toto se nevztahuje na uzly validátorů konsensuální vrstvy. Vypnutí vašeho uzlu ovlivní všechny služby na něm závislé. Pokud provozujete uzel pro účely stakování, měli byste se snažit minimalizovat prostoje co nejvíce.
Vytváření služeb klienta
Zvažte vytvoření služby pro automatické spouštění vašich klientů při startu. Například na serverech s Linuxem by dobrou praxí bylo vytvořit službu, např. s systemd, která spouští klienta se správnou konfigurací, pod uživatelem s omezenými oprávněními a automaticky se restartuje.
Aktualizace klientů
Musíte udržovat svůj software klienta aktuální s nejnovějšími bezpečnostními záplatami, funkcemi a EIP. Zejména před hard forky se ujistěte, že používáte správné verze klienta.
Před důležitými aktualizacemi sítě EF zveřejňuje příspěvek na svém blogu (opens in a new tab). Můžete se přihlásit k odběru těchto oznámení (opens in a new tab), abyste dostali upozornění na váš e-mail, když váš uzel potřebuje aktualizaci.
Aktualizace klientů je velmi jednoduchá. Každý klient má ve své dokumentaci specifické pokyny, ale proces je obecně jen stažení nejnovější verze a restartování klienta s novým spustitelným souborem. Klient by měl pokračovat tam, kde skončil, ale s aplikovanými aktualizacemi.
Každá implementace klienta má lidsky čitelný řetězec verze, který se používá v protokolu peer-to-peer, ale je také přístupný z příkazového řádku. Tento řetězec verze umožňuje uživatelům zkontrolovat, zda používají správnou verzi, a umožňuje prohlížečům bloků a dalším analytickým nástrojům, které se zajímají o kvantifikaci distribuce konkrétních klientů v síti. Pro více informací o řetězcích verzí se prosím obraťte na dokumentaci jednotlivých klientů.
Provozování dalších služeb
Provozování vlastního uzlu vám umožňuje používat služby, které vyžadují přímý přístup k RPC klienta Etherea. Jedná se o služby postavené na Ethereu, jako jsou řešení vrstvy 2, backend pro peněženky, prohlížeče bloků, vývojářské nástroje a další infrastruktura Etherea.
Monitorování uzlu
Chcete-li správně monitorovat svůj uzel, zvažte sběr metrik. Klienti poskytují koncové body pro metriky, takže můžete získat komplexní data o svém uzlu. Použijte nástroje jako InfluxDB (opens in a new tab) nebo Prometheus (opens in a new tab) k vytvoření databází, které můžete přeměnit na vizualizace a grafy v softwaru jako Grafana (opens in a new tab). Existuje mnoho nastavení pro použití tohoto softwaru a různé řídicí panely Grafana pro vizualizaci vašeho uzlu a celé sítě. Například se podívejte na návod na monitorování Gethu.
V rámci monitorování se ujistěte, že sledujete výkon vašeho stroje. Během počáteční synchronizace vašeho uzlu může být software klienta velmi náročný na CPU a RAM. Kromě Grafany můžete k tomu použít nástroje, které nabízí váš operační systém, jako htop nebo uptime.
Další čtení
- Ethereum Staking Guides (opens in a new tab) – Somer Esat, často aktualizováno
- Průvodce | Jak nastavit validátor pro staking na mainnetu Etherea (opens in a new tab) – CoinCashew, často aktualizováno
- Průvodci ETHStaker k provozování validátorů na testnetech (opens in a new tab) – ETHStaker, pravidelně aktualizováno
- Ukázková aplikace AWS Blockchain Node Runner pro uzly Etherea (opens in a new tab) – AWS, často aktualizováno
- Časté dotazy ke Sloučení pro operátory uzlů (opens in a new tab) – červenec 2022
- Analýza hardwarových požadavků pro plně validovaný uzel Etherea (opens in a new tab) – Albert Palau, 24. září 2018
- Provozování plných uzlů Ethereum: Příručka pro sotva motivované (opens in a new tab) – Justin Leroux, 7. listopadu 2019
- Spuštění uzlu Hyperledger Besu na mainnetu Etherea: Výhody, požadavky a nastavení (opens in a new tab) – Felipe Faraggi, 7. května 2020
- Nasazení klienta Nethermind Ethereum s monitorovacím balíčkem (opens in a new tab) – Nethermind.eth, 8. července 2020
