Uruchom Collator na Moonbeam

Chris | Vegas Life
6 min readJun 1, 2021

Wprowadzenie

Collatorzy są członkami sieci, która utrzymuje parachain, w którym biorą udział. Uruchamiają pełny węzeł (zarówno dla ich konkretnego parachain, jak i dla łańcucha przekaźników) i produkują dowód przejścia stanu dla walidatorów łańcucha przekaźników.

Wraz z wydaniem Moonbase Alpha v6 użytkownicy mogą rozkręcać pełne węzły i aktywować funkcję sortowania oraz uczestniczyć w ekosystemie jako sortownicy.

Moonbeam używa Nimbus Parachain Consensus Framework . Zapewnia to dwuetapowy filtr do przydzielania kolatorów do bloku produkcyjnego bloku:

· Filtr parachain staking wybiera 32 najlepsze kolatory pod względem tokenów postawionych w sieci. Ta filtrowana pula nazywa się wybranymi kandydatami, a wybrani kandydaci są rotowani w każdej rundzie

· Filtr podzbioru o stałym rozmiarze wybiera pseudolosowy podzbiór wcześniej wybranych kandydatów dla każdego przedziału produkcyjnego bloku

Ten przewodnik przeprowadzi Cię przez następujące kroki:

· Wymagania techniczne — pokazuje kryteria, które musisz spełnić z technicznego punktu widzenia

· Konta i wymagania dotyczące obstawiania — przechodzi przez proces zakładania konta i tokenów obligacji, aby zostać kandydatem na kolatora

· Generuj klucze sesji — wyjaśnia, jak generować klucze sesji, używane do mapowania identyfikatora autora z kontem H160

· Przypisz identyfikator autora do swojego konta — przedstawia kroki, aby zmapować klucz sesji publicznej do konta H160, na które będą wypłacane nagrody blokowe

Wymagania techniczne

Z technicznego punktu widzenia kolatory muszą spełniać następujące wymagania:

· Uruchom pełny węzeł z opcjami sortowania. Aby to zrobić, postępuj zgodnie z samouczkiem dotyczącym pełnego węzła , biorąc pod uwagę konkretne fragmenty kodu dla kolatorów

· Włącz serwer telemetrii dla pełnego węzła. Aby to zrobić, postępuj zgodnie z samouczkiem telemetrycznym

Konta i wymagania dotyczące stawek

Podobnie jak w przypadku walidatorów Polkadot, musisz założyć konto. W przypadku Moonbeam jest to konto H160 lub w zasadzie konto w stylu Ethereum, z którego przechowujesz klucze prywatne. Ponadto do zestawienia potrzebujesz nominowanej stawki (tokenów DEV). Liczba slotów jest obecnie ograniczona, ale z czasem może ulec zwiększeniu.

Collatorzy muszą mieć co najmniej 1000 DEV, aby zostać uznanymi za kwalifikujących się (zostać kandydatem). Tylko 32 najlepszych kolatorów według nominowanej stawki znajdzie się w aktywnym zestawie.

Konto w PolkadotJS

Kolator ma konto powiązane z jego czynnościami sortowania. To konto zostało zmapowane na identyfikator autora, aby zidentyfikować go jako producenta bloku i wysłać wypłaty z nagród blokowych.

Obecnie masz dwa sposoby postępowania w sprawie posiadania konta w PolkadotJS :

· Importowanie istniejącego (lub tworzenie nowego) konta H160 z zewnętrznych portfeli lub usług, takich jak MetaMask i MathWallet

· Utwórz nowe konto H160 w PolkadotJS

Po zaimportowaniu konta H160 do PolkadotJS , powinieneś zobaczyć je w zakładce “Konta”. Upewnij się, że masz pod ręką swój adres publiczny ( PUBLIC_KEY ), ponieważ jest on potrzebny do skonfigurowania pełnego węzła z opcjami sortowania.

Zostań Kandydatem Collator

Gdy Twój węzeł jest uruchomiony i zsynchronizowany z siecią, stajesz się kandydatem na kolatora, wykonując poniższe czynności w PolkadotJS :

1. Przejdź do zakładki „Programiści” i kliknij „ Elementy zewnętrzne ”

2. Wybierz konto, które chcesz powiązać z działaniami sortowania

3. Potwierdź, że Twoje konto kolatora jest zasilane co najmniej 1000 tokenów DEV plus dodatkowe opłaty transakcyjne

4. Wybierz paletę parachainStaking w menu “prześlij następujące elementy zewnętrzne “

5. Otwórz menu rozwijane, który wymienia wszystkie możliwe extrinsics związane z wytyczania i wybierz joinCandidates ( ) funkcji

6. Ustaw kaucję na co najmniej 1000, co jest minimalną kwotą, którą należy uznać za kandydata na kolatora. W tym czeku liczą się tylko obligacje collator. Dodatkowe nominacje się nie liczą

7. Prześlij transakcję. Postępuj zgodnie z instrukcjami kreatora i podpisz transakcję za pomocą hasła, które ustawiłeś dla konta

Uwaga

Nazwy funkcji i minimalne wymagania dotyczące obligacji mogą ulec zmianie w przyszłych wydaniach.

Jak wspomniano wcześniej, tylko 32 najlepszych kolatorów według nominowanej stawki znajdzie się w aktywnym zestawie.

Zatrzymaj sortowanie

Podobnie jak w przypadku funkcji chill( ) w Polkadot , aby opuścić pulę kandydatów zbierających, wykonaj te same kroki co poprzednio, ale wybierz funkcję LeaveCandidates () w kroku 5.

Czasy

Poniższa tabela przedstawia niektóre czasy w odniesieniu do różnych działań związanych z czynnościami sortowania:

Uwaga

Wartości przedstawione w poprzedniej tabeli mogą ulec zmianie w przyszłych wydaniach.

Klucze sesji

Wraz z wydaniem Moonbase Alpha v8 sortery będą podpisywać bloki za pomocą identyfikatora autora, który jest w zasadzie kluczem sesji . Aby dopasować standard podłoża, klucze sesji zbieracza Moonbeam to SR25519 . W tym przewodniku dowiesz się, jak tworzyć/obracać klucze sesji powiązane z węzłem sortującym.

Najpierw upewnij się, że korzystasz z węzła sortującego i odsłoniłeś porty RPC. Po uruchomieniu węzła sortującego terminal powinien wydrukować podobne logi:

Następnie klucze sesji można obracać, wysyłając wywołanie RPC do punktu końcowego HTTP za pomocą metody author_rotateKeys . Dla porównania, jeśli punkt końcowy HTTP sortownika znajduje się na porcie 9933 , wywołanie JSON-RPC może wyglądać tak:

Węzeł sortowania powinien odpowiedzieć odpowiednim kluczem publicznym nowego identyfikatora autora (klucza sesji).

Upewnij się, że zapisałeś ten klucz publiczny identyfikatora autora. Następnie zostanie on zmapowany na adres w stylu H160 Ethereum, na który wypłacane są nagrody blokowe.

Mapuj ID autora na swoje konto

Następnym krokiem po wygenerowaniu identyfikatora autora (kluczy sesji) jest zmapowanie go na konto H160 (adres w stylu Ethereum). Upewnij się, że posiadasz klucze prywatne do tego konta, ponieważ tam wypłacane są nagrody za blok.

Istnieje wiązanie 100 tokenów DEV, które jest wysyłane podczas mapowania identyfikatora autora na koncie. Ta obligacja jest na zarejestrowany ID autora.

AuthorMapping moduł ma następujące extrinsics zaprogramowane:

addAssociation — jedno wejście: ID autora. Mapuje twój identyfikator autora na konto H160, z którego wysyłana jest transakcja, zapewniając, że jesteś prawdziwym właścicielem jego kluczy prywatnych. Wymaga obligacji o wartości 100 DEV tokenów

clearAssociation — jedno wejście: ID autora. Usuwa powiązanie identyfikatora autora z kontem H160, z którego wysyłana jest transakcja, które musi być właścicielem tego identyfikatora autora. Zwraca również obligację tokenów 100 DEV

updateAssociation — dwa wejścia: stary i nowy identyfikator autora. Aktualizuje mapowanie ze starego identyfikatora autora na nowy. Przydatne po rotacji klucza lub migracji. Wykonuje zarówno dodatek i jasne stowarzyszeniu extrinsics atomowo, umożliwiając obrót klucza bez konieczności drugie wiązanie

Moduł dodaje również następujące wywołania RPC (stan łańcucha):

mapowanie — jedno opcjonalne wejście: ID autora. Wyświetla wszystkie mapowania przechowywane w łańcuchu lub tylko te związane z danymi wejściowymi, jeśli są dostępne

Mapowanie zewnętrzne

Aby zmapować swój identyfikator autora na swoje konto, musisz znajdować się w wybranej puli kandydatów . Gdy jesteś już wybranym kandydatem, musisz przesłać zewnętrzne mapowanie (transakcję). Zwróć uwagę, że spowoduje to powiązanie 100 tokenów DEV, i to na zarejestrowany identyfikator autora. Aby to zrobić, wykonaj następujące czynności:

1. Przejdź do zakładki „Programista”

2. Wybierz opcję “ Elementy zewnętrzne “

3. Wybierz konto, z którym chcesz zmapować swój identyfikator autora, z którym podpiszesz tę transakcję

4. Wybierz autora Mapowanie zewnętrzne

5. Ustaw metodę addAssociation ( )

6. Wprowadź identyfikator autora. W tym przypadku został uzyskany przez wywołanie RPC author_rotateKeys w poprzedniej sekcji

7. Kliknij „Prześlij transakcję”

Jeśli transakcja się powiedzie, na ekranie pojawi się powiadomienie z potwierdzeniem. Wręcz przeciwnie, upewnij się, że znajdujesz się w wybranych kandydatach.

Sprawdzanie mapowań

Możesz również sprawdzić bieżące mapowania w łańcuchu, weryfikując stan łańcucha. Aby to zrobić, wykonaj następujące czynności:

1. Przejdź do zakładki „Programista”

2. Wybierz opcję „Stan łańcucha”

3. Wybierz AuthorMapping jako stan do zapytania. Obecnie zaprogramowana jest tylko jedna metoda ( mapowanie )

4. Opcjonalnie podaj identyfikator autora do zapytania lub naciśnij suwak, aby pobrać wszystkie mapowania w łańcuchu

5. Kliknij przycisk „+”, aby wysłać połączenie RPC

Jeśli nie podano identyfikatora autora, spowoduje to zwrócenie wszystkich mapowań przechowywanych w łańcuchu, gdzie można sprawdzić, czy identyfikator autora jest poprawnie zmapowany na konto H160.

--

--

Chris | Vegas Life

Decentralize the internet by running Validators Nodes on Polkadot and Kusama.