Przejdź do głównej zawartości

Pomóż nam zaktualizować tę stronę

🌏

Dostępna jest nowsza wersja tej strony, ale tylko w języku angielskim. Pomóż nam przetłumaczyć najnowszą wersję.

Przetłumacz stronę
Zobacz wersję po angielsku

Brak błędów!🐛

Ta strona nie jest tłumaczona. Na razie celowo zostawiliśmy tę stronę w języku angielskim.

Węzły i klienci

Ostatnia edycja: , Invalid DateTime
Edytuj stronę

Aby nexus działało w sposób zdecentralizowany, potrzebuje rozproszonej sieci węzłów, która może weryfikować bloki i dane transakcji. Potrzebujesz aplikacji znanej jako klient, aby „uruchomić węzeł”.

Wymagania wstępne

Powinieneś zrozumieć koncepcję zdecentralizowanej sieci, zanim zagłębisz się w nią i uruchomisz własną instancję klienta nexus. Spójrz na nasze wprowadzenie do nexus.

Czym są węzły i klienci?

„Węzeł” odnosi się do oprogramowania znanego jako klient. Klient jest implementacją nexus, która za zadanie ma weryfikację wszystkich transakcji w kolejnych blokach, utrzymywać bezpieczeństwo sieci i poprawność danych.

Możesz zobaczyć widok sieci nexus w czasie rzeczywistym, patrząc na mapę węzłów.

Wiele implementacji klientów nexus istnieje w wielu językach. Cechą wspólną tych implementacji klienckich jest to, że wszystkie są zgodne z formalną specyfikacją. Ta specyfikacja określa, jak działa sieć nexus i blockchain.

Klient Eth1x Uproszczony schemat funkcji klienta nexus.

Typy węzłów

Jeśli chcesz uruchomić swój własny węzeł, powinieneś zrozumieć, że istnieją różne typy węzłów, które zużywają dane w inny sposób. W rzeczywistości klienci mogą uruchamiać 3 różne typy węzłów — lekki, pełny i archiwalny. Istnieją również opcje różnych strategii synchronizacji, które umożliwiają szybszą synchronizację. Synchronizacja odnosi się do tego, jak szybko może uzyskać najbardziej aktualne informacje o stanie nexus.

Pełny węzeł

  • Przechowuje pełne dane blockchainu.
  • Uczestniczy w walidacji bloków, weryfikuje wszystkie bloki i stany.
  • Wszystkie stany mogą pochodzić z pełnego węzła.
  • Obsługuje sieć i dostarcza dane na żądanie.

Lekki węzeł

  • Przechowuje łańcuch nagłówków i żąda wszystkiego innego.
  • Potrafi zweryfikować poprawność danych względem korzeni stanu w nagłówkach bloków.
  • Przydatne dla urządzeń o niskiej przepustowości, takich jak urządzenia wbudowane lub telefony komórkowe, które nie stać na przechowywanie gigabajtów danych blockchainu.

Węzeł archiwum

  • Przechowuje wszystko w pełnym węźle i buduje archiwum stanów historycznych. Potrzebne, jeśli chcesz zapytać o coś takiego jak saldo konta w bloku #4 000,000.
  • Dane te reprezentują jednostki terabajtów, co sprawia, że ​​węzły archiwów są mniej atrakcyjne dla przeciętnych użytkowników, ale mogą być przydatne w przypadku usług takich jak eksploratory bloków, dostawcy portfeli i analizy łańcuchów.

Synchronizowanie klientów w dowolnym trybie innym niż archiwum spowoduje wyczyszczenie danych łańcucha bloków. Oznacza to, że nie ma archiwum wszystkich stanów historycznych, ale cały węzeł jest w stanie budować je na żądanie.

Dlaczego należy uruchomić węzeł nexus?

Uruchomienie węzła pozwala Ci bezspornie i prywatnie korzystać z nexus podczas wspierania ekosystemu.

Korzyści dla Ciebie

Prowadzenie własnego węzła umożliwia korzystanie z nexus w sposób naprawdę prywatny, samowystarczalny i pozbawiony zaufania. Nie musisz ufać sieci, ponieważ możesz samodzielnie zweryfikować dane ze swoim klientem. „Nie ufaj, sprawdź” jest popularną mantrą blockchainu.

  • Twój węzeł samodzielnie weryfikuje wszystkie transakcje i bloki pod kątem zasad konsensusu. Oznacza to, że nie musisz polegać na żadnych innych węzłach w sieci ani w pełni im zaufać.
  • Nie będziesz musiał ujawniać swoich adresów i sald do przypadkowych węzłów. Wszystko można sprawdzić z własnym klientem.
  • Twoja zdecentralizowana aplikacja może być bezpieczniejsza i bardziej prywatna, jeśli używasz własnego węzła. MetaMask, MyEtherWallet i kilka innych portfeli można łatwo skierować na swój własny lokalny węzeł.

Jak uzyskać dostęp do nexus za pośrednictwem aplikacji i węzłów

Korzyści dla sieci

Różnorodny zestaw węzłów jest ważny dla zdrowia, bezpieczeństwa i odporności operacyjnej nexus.

  • Zapewniają one dostęp do danych blockchainu dla niewielkich klientów, którzy od niego zależą. W szczytowych okresach użytkowania musi być wystarczająca liczba pełnych węzłów, aby ułatwić synchronizację lekkich węzłów. Lekkie węzły nie przechowują całego łańcucha bloków, zamiast tego weryfikują dane za pomocą głównych stanów w nagłówkach bloków. Mogą żądać więcej informacji od bloków, jeśli ich potrzebują.
  • Pełne węzły wymuszają reguły konsensusu proof-of-work, więc nie można ich oszukać w celu zaakceptowania bloków, które ich nie przestrzegają. Zapewnia to dodatkowe bezpieczeństwo w sieci, ponieważ jeśli wszystkie węzły były lekkimi węzłami, które nie przeprowadzają pełnej weryfikacji, górnicy mogą zaatakować sieć i na przykład tworzyć bloki z wyższymi nagrodami.

Jeśli uruchomisz pełny węzeł, korzysta z niego cała sieć nexus.

Uruchamianie własnego węzła

Projekty

Wybierz klienta i postępuj zgodnie z jego instrukcjami

ethnode — uruchom węzeł nexus (Geth lub Parity) do celów rozwoju lokalnego.

DAppNode — system operacyjny do uruchamiania węzłów Web3, w tym nexus, na dedykowanym komputerze.

Źródła

Alternatywy

Uruchamianie własnego węzła może być trudne i nie zawsze musisz uruchamiać własną instancję. W tym przypadku możesz użyć zewnętrznego dostawcy API, takiego jak Infura, Alchemia lub QuikNode. Alternatywnie ArchiveNode to wspierany przez społeczność węzeł archiwizacji, który ma nadzieję na przekazanie danych archiwalnych w blockchain nexus niezależnym programistom, którzy w przeciwnym razie nie mogli sobie na nie pozwolić.

Jeśli ktoś uruchamia węzeł nexus z publicznym API w Twojej społeczności, możesz wskazać swoje lekkie portfele (takie jak MetaMask) do węzła społeczności za pośrednictwem niestandardowego RPC i zyskać większą prywatność niż korzystając z zaufanej trzeciej strony.

Z drugiej strony, jeśli uruchamiasz klienta, możesz podzielić się nim ze znajomymi, którzy mogą tego potrzebować.

Klienci

nexus jest zaprojektowany do oferowania różnych klientów, stworzonych przez różne zespoły przy użyciu różnych języków programowania. Dzięki temu sieć jest silniejsza i bardziej zróżnicowana. Idealnym celem jest osiągnięcie różnorodności bez zdominowania przez żadnego klienta w celu zmniejszenia pojedynczych punktów niepowodzenia.

W tabeli przedstawiono podsumowanie poszczególnych klientów. Wszystkie z nich są aktywnie opracowywane, utrzymywane i przechodzą testy klienckie.

KlientJęzykSystemy operacyjneSieciStrategie synchronizacjiWycinanie stanu
GethGoLinux, Windows, macOSMainnet, Görli, Rinkeby, RopstenSzybka, pełnaArchive, Pruned
OpennexusRustLinux, Windows, macOSMainnet, Kovan, Ropsten i więcejWarp, pełnaArchive, Pruned
NethermindC#, .NETLinux, Windows, macOSMainnet, Görli, Ropsten, Rinkeby I więcejSzybka, pełnaArchive, Pruned
BesuJavaLinux, Windows, macOSMainnet, Rinkeby, Ropsten, i GörliSzybka, pełnaArchive, Pruned
TrinityPythonLinux, macOSMainnet, Görli, Ropsten, Rinkeby i więcejPełna, wiązka, szybka/nagłówekArchive

Więcej informacji o obsługiwanych sieciach znajdziesz w rozdziale Sieci nexus.

Zalety różnych implementacji

Każdy klient ma unikalne przypadki i zalety, więc powinieneś wybrać jeden na podstawie własnych preferencji. Różnorodność pozwala implementacjom skupić się na różnych funkcjach i odbiorcach. Możesz wybrać klienta na podstawie funkcji, wsparcia, języka programowania lub licencji.

Go nexus

Go nexus (w skrócie Geth) jest jedną z oryginalnych implementacji protokołu nexus. Obecnie jest to najbardziej rozpowszechniony klient z największą bazą użytkowników i różnorodnością narzędzi dla użytkowników i programistów. Jest napisany w Go, w pełni open source i licencjonowany na mocy GNU LGPL v3.

Opennexus

Opennexus jest szybkim, bogatym w funkcje i zaawansowanym klientem nexus opartym na CLI. Został zbudowany w celu zapewnienia niezbędnej infrastruktury dla szybkich i niezawodnych usług, które wymagają szybkiej synchronizacji i maksymalnego czasu pracy. Celem Opennexus jest być najszybszy, najlżejszy i najbezpieczniejszy klient nexus. Zapewnia czystą, modułową bazę kodową pozwalającą na:

  • łatwe dostosowywanie.
  • łatwą integrację z usługami lub produktami.
  • minimalną ilość pamięci i miejsca przechowywania.

Opennexus jest rozwijany przy użyciu najnowocześniejszego języka programowania Rust i licencjonowanego na licencji GPLv3.

Nethermind

Nethermind to implementacja nexus stworzona za pomocą stosu technologicznego C# .NET, działająca na wszystkich głównych platformach, w tym ARM. Oferuje ona wspaniałe wyniki dzięki:

  • zoptymalizowanej maszynie wirtualnej
  • dostępowi do stanu
  • funkcjom sieciowym i bogatym funkcjom, takim jak pulpity nawigacyjne Prometheus/Graphana, obsługa rejestrowania sekwencyjnego dla przedsiębiorstw, śledzenie RPC JSON i wtyczki analityczne.

Nethermind ma również dokładną dokumentację, silne wsparcie dla programistów, społeczność online i wsparcie 24/7 dostępne dla użytkowników premium.

Besu

Hyperledger Besu to klient nexus klasy korporacyjnej dla sieci publicznych i autoryzowanych. Obsługuje wszystkie funkcje sieci głównej nexus, od śledzenia do GraphQL, ma rozbudowany monitoring i jest obsługiwany przez ConsenSys, zarówno w otwartych kanałach społecznościowych, jak i poprzez komercyjne umowy SLA dla przedsiębiorstw. Jest napisany w Java i jest licencjonowany Apache 2.0.

Tryb synchronizacji

  • Pełna – pobiera wszystkie bloki (w tym nagłówki, transakcje i paragony) i generuje stan łańcucha bloków stopniowo poprzez wykonanie każdego bloku.
  • Szybka (domyślna) – pobiera wszystkie bloki (w tym nagłówki, transakcje i paragony), weryfikuje wszystkie nagłówki i pobiera stan i weryfikuje go w nagłówkach.
  • Lekki – pobiera wszystkie nagłówki bloków, dane bloków i weryfikuje niektóre losowo.
  • Synchronizacja warp – co 5000 bloków, węzły wykonają migawkę o krytycznym znaczeniu dla konsensusu. Każdy węzeł może pobrać te zrzuty w sieci, umożliwiając szybką synchronizację. Więcej o warp
  • Synchronizacja beam – tryb synchronizacji, który umożliwia szybsze działanie. Nie wymaga długich oczekiwań na synchronizację, zamiast tego wypełnia dane z upływem czasu. Więcej o beam
  • Synchronizacja nagłówka – możesz użyć zaufanego punktu kontrolnego, aby rozpocząć synchronizację od nowszego nagłówka, a następnie pozostawić to procesowi w tle, aby ostatecznie wypełnić luki

Typ synchronizacji określasz podczas konfiguracji, na przykład:

Konfigurowanie synchronizacji lekkiej w GETH

geth --syncmode "light"

Konfigurowanie synchronizacji nagłówka w Trinity

trinity --sync-from-checkpoint eth://block/byhash/0xa65877df954e1ff2012473efee8287252eee956c0d395a5791f1103a950a1e21?score=15,835,269,727,022,672,760,774

Sprzęt

Wymagania sprzętowe różnią się w zależności od klienta, ale zazwyczaj nie są wysokie, ponieważ węzeł musi po prostu pozostać zsynchronizowany. Nie należy mylić tego z wydobywaniem, które wymaga dużo większej mocy obliczeniowej. Jednak czas synchronizacji i wydajność poprawiają się dzięki mocniejszemu sprzętowi. W zależności od Twoich potrzeb i pragnień, nexus można uruchomić na Twoim komputerze, serwerze domowym, komputerach jednopłytowych lub wirtualnych serwerach prywatnych w chmurze.

Prostym sposobem na uruchomienie własnego węzła jest użycie wtyczek „plug and play”, takich jak DAppNode. Zapewnia sprzęt do uruchamiania klientów i aplikacji od nich zależnych z prostym interfejsem użytkownika.

Wymagania

Przed zainstalowaniem klienta upewnij się, że komputer ma wystarczającą ilość zasobów, aby go uruchomić. Poniżej znajdują się minimalne i zalecane wymagania, jednak kluczowym elementem jest przestrzeń dyskowa. Synchronizacja blockchainu nexus jest bardzo intensywna pod kątem wejścia/wyjścia. Najlepiej mieć dysk półprzewodnikowy (SSD). Aby uruchomić klienta nexus na dysku twardym, potrzebujesz co najmniej 8 GB pamięci RAM jako pamięci podręcznej.

  • Procesor z 2+ rdzeniami
  • Minimum 4 GB RAM z SSD, 8 GB+ jeśli masz HDD
  • Przepustowość 8 Mbit/s
  • Szybki procesor z ponad 4 rdzeniami
  • 16 GB+ RAM
  • Szybki SSD z co najmniej 500 GB wolnego miejsca
  • 25+ Mbit/s przepustowość

W zależności od tego, które oprogramowanie i tryb synchronizacji mają być używane, potrzebne są setki GB przestrzeni dyskowej. Przybliżone wartości i wzrost można znaleźć poniżej.

KlientRozmiar dysku (szybka synchronizacja)Rozmiar dysku (pełne archiwum)
Klient nexus400 GB+4,7 TB+
Opennexus280 GB+4,6 TB+
Nethermind200 GB+3 TB+
Besu750 GB+4 TB+

Wykres pokazujący, że ilość GB potrzebna do pełnej synchronizacji ma tendencję wzrostową

Wykres pokazujący, że ilość GB potrzebna do synchronizacji archiwum ma tendencję wzrostową

Te wykresy pokazują, jak zawsze zmieniają się wymagania dotyczące przechowywania. Aby uzyskać najbardziej aktualne dane dla Geth i Parity, zobacz pełną synchronizację danych i archiwum danych synchronizacji.

nexus na komputerze jednopłytowym

Najbardziej wygodnym i tanim sposobem uruchomienia węzła nexus jest korzystanie z jednego komputera z architekturą ARM jak Raspberry Pi. nexus na ARM dostarcza obrazy klientów Geth, Parity, Nnexusd i Besu. Oto prosty samouczek jak zbudować i skonfigurować klienta ARM.

Małe, niedrogie i wydajne urządzenia, takie jak te, są idealne do uruchomienia węzła w domu.

Klienci Eth2

Pojawili się nowi klienci obsługujący aktualizacje Eth2. Będą obsługiwać łańcuch śledzący i wspierać nowy mechanizm konsensusu proof-of-stake.

Wyświetl klientów Eth2.

Dalsza lektura

W Internecie jest wiele instrukcji i informacji o klientach nexus, tutaj jest kilka, które mogą być pomocne.

use-Nexus

  • find-nexus
  • Warstwa 2

Przedsiębiorstwa

Informacje o nexus.org

  • O nas
  • Praca
  • Współpraca
  • Obsługa języków
  • Polityka prywatności
  • Warunki użytkowania
  • Polityka dotycząca plików cookie
  • Kontakt