Kalkulator ENS namehash
Wpisz nazwę ENS i od razu zobacz namehash oraz labelhash pierwszej etykiety.
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćJak używać kalkulatora ENS namehash
Kalkulator ENS namehash służy do sprawdzenia, jaki identyfikator ma wybrana nazwa ENS. Wpisz pełną nazwę w polu Nazwa ENS, na przykład vitalik.eth. Pole ma domyślną wartość vitalik.eth, a po wczytaniu strony wynik dla tej wartości pokazuje się od razu, bez dodatkowego klikania.
- Wpisz nazwę ENS, którą chcesz sprawdzić.
- Kliknij przycisk Oblicz namehash.
- Odczytaj Namehash — wynik dla całej nazwy.
- Odczytaj Labelhash pierwszej etykiety — wynik dla części najbardziej z lewej.
Namehash ma postać 0x i 64 znaki hex, czyli 32 bajty. Labelhash pierwszej etykiety również ma postać 0x i 64 znaki hex albo pokazuje — dla pustej nazwy. Obliczenia odbywają się lokalnie w przeglądarce, więc wpisana nazwa nie jest wysyłana na serwer.
Co to jest namehash i do czego służy w ENS
ENS to system nazw, w którym nazwy takie jak vitalik.eth mogą wskazywać na adresy, dane lub inne zasoby. Aby różne aplikacje mogły w ten sam sposób rozpoznawać tę samą nazwę, potrzebny jest powtarzalny identyfikator. Tym identyfikatorem jest namehash.
Namehash jest liczony zgodnie z algorytmem EIP-137. Dla całej nazwy powstaje jeden wynik, który jednoznacznie reprezentuje tę nazwę w systemie ENS. Dzięki temu portfel, aplikacja lub usługa może zapytać o tę samą nazwę i otrzymać ten sam identyfikator, niezależnie od tego, jak została zapisana w danym miejscu — o ile przeszła wymaganą normalizację.
Namehash przydaje się przy pracy z nazwami ENS, subdomenami i rekordami. Nie zastępuje jednak sprawdzenia, czy nazwa istnieje, kto nią zarządza i jakie rekordy są ustawione. To identyfikator obliczeniowy, a nie potwierdzenie własności.
W praktyce namehash pozwala aplikacjom rozmawiać o tej samej nazwie bez nieporozumień. Jeżeli znasz namehash, możesz posłużyć się nim w narzędziach i dokumentacji, które operują na identyfikatorach ENS. Dla pustej nazwy po przycięciu kalkulator pokazuje namehash root, czyli 32 bajty zer, a labelhash pierwszej etykiety jako —.
Algorytm EIP-137 krok po kroku
Kalkulator stosuje algorytm EIP-137. Najpierw nazwa jest przycinana i zamieniana na małe litery. Jeśli po przycięciu jest niepusta, dzielona jest po kropce na etykiety. Etykiety są przetwarzane od prawej do lewej, czyli od końca nazwy w stronę początku.
- Start: wynik początkowy to 32 bajty zer, zapisane jako 0x000...000.
- Dla każdej etykiety liczony jest skrót Keccak-256 z jej zapisu UTF-8.
- Dotychczasowy wynik jest łączony ze skrótem etykiety, a całość jest ponownie hashowana Keccak-256.
- Tak powstaje nowy wynik dla kolejnych etykiet, aż wszystkie zostaną przetworzone.
- Po przejściu całej nazwy otrzymujesz namehash.
Przykład dla wartości domyślnej vitalik.eth: nazwa dzieli się na etykiety vitalik oraz eth. Najpierw przetwarzana jest etykieta eth, a potem vitalik. Po zakończeniu obliczeń namehash wynosi 0xee6c4522aab0003e8d14cd40a6af439055fd2577951148c14b6cea9a53475835. Labelhash pierwszej etykiety, czyli etykiety vitalik, wynosi 0xaf2caa1c2ca1d027f1ac823b529d0a67cd144264b2789fa2ea4d63a67c7103cc.
Narzędzie pokazuje oba wyniki w formie HTML z hexami. Namehash dotyczy całej nazwy, a labelhash pierwszej etykiety tylko jej pierwszej części od lewej. Wynik jest pokazywany od razu dla wartości domyślnej, a dla własnej nazwy wystarczy kliknąć przycisk Oblicz namehash.
Namehash a labelhash — różnice i zastosowania
Namehash i labelhash brzmią podobnie, ale opisują różne rzeczy. Namehash jest identyfikatorem całej nazwy ENS, na przykład vitalik.eth. Labelhash jest identyfikatorem pojedynczej etykiety, czyli jednego segmentu nazwy oddzielonego kropką.
W kalkulatorze labelhash dotyczy pierwszej etykiety, czyli części najbardziej z lewej. Dla nazwy vitalik.eth pierwszą etykietą jest vitalik, więc labelhash opisuje właśnie ten fragment. Dla nazwy sub.vitalik.eth pierwszą etykietą byłoby sub, a namehash nadal opisywałby całą nazwę sub.vitalik.eth.
| Pojęcie | Co opisuje | Przykład |
|---|---|---|
| Namehash | Całą nazwę ENS | vitalik.eth |
| Labelhash pierwszej etykiety | Najbardziej lewą etykietę | vitalik |
Namehash jest używany do identyfikowania pełnych nazw i podnazw w ENS. Labelhash pozwala odnieść się do konkretnej etykiety niezależnie od tego, w jakiej nazwie występuje. Oba wyniki są powtarzalne, o ile dane wejściowe są takie same i przeszły wymaganą normalizację.
Ograniczenia: normalizacja ENSIP-15 i nieobsługiwane znaki
Kalkulator stosuje prostą normalizację: przycina nazwę i zamienia ją na małe litery. Nie wykonuje pełnej normalizacji ENSIP-15, więc emoji, różne znaki Unicode oraz równoważne formy NFC i NFD nie są przeliczane na formę kanoniczną. To ważne, jeśli nazwa zawiera znaki spoza podstawowego zestawu albo łączy różne alfabety.
- Narzędzie nie sprawdza, czy nazwa jest zarejestrowana, wolna lub czy należy do Ciebie.
- Nie pokazuje rekordów ENS, adresów, właściciela ani resolvera.
- Nie wykonuje transakcji ani nie łączy się z portfelem.
- Nie obsługuje pełnej ENSIP-15 dla emoji, Unicode i form NFC/NFD — jest to zaznaczone w interfejsie.
- Puste etykiety, na przykład dwie kropki albo kropka na początku lub końcu, powodują błąd.
Jeżeli Twoja nazwa zawiera znaki specjalne, emoji albo nietypowe litery, przed użyciem wyniku w innej aplikacji sprawdź ją samodzielnie zgodnie z zasadami ENS. Kalkulator podaje wynik dla tekstu, który wpiszesz, i robi to lokalnie w przeglądarce. Nie służy do wyceny nazw ani handlu nimi.
Najczęstsze pytania
Czym jest kalkulator ENS namehash?
To narzędzie, które oblicza namehash zgodny z EIP-137 dla wpisanej nazwy ENS oraz labelhash pierwszej etykiety. Domyślnie pokazuje wynik dla wartości vitalik.eth. Obliczenia odbywają się lokalnie w przeglądarce.
Jak obliczyć namehash dla vitalik.eth?
Dla wartości domyślnej wynik jest widoczny od razu po wczytaniu strony. Namehash wynosi 0xee6c4522aab0003e8d14cd40a6af439055fd2577951148c14b6cea9a53475835, a labelhash pierwszej etykiety 0xaf2caa1c2ca1d027f1ac823b529d0a67cd144264b2789fa2ea4d63a67c7103cc. Możesz też wpisać własną nazwę i kliknąć Oblicz namehash.
Jaka jest różnica między namehash a labelhash?
Namehash identyfikuje całą nazwę ENS, na przykład vitalik.eth. Labelhash dotyczy pojedynczej etykiety, a w kalkulatorze pokazywany jest labelhash pierwszej etykiety od lewej. Dla vitalik.eth labelhash opisuje fragment vitalik.
Czy kalkulator obsługuje emoji i znaki Unicode?
Normalizacja w kalkulatorze ogranicza się do zamiany liter na małe. Pełna ENSIP-15, w tym emoji, Unicode oraz formy NFC i NFD, nie jest wykonywana. Jest to zaznaczone w interfejsie, więc takie nazwy sprawdź dodatkowo.
Czy kalkulator ENS namehash wysyła dane na serwer?
Nie. Obliczenia odbywają się lokalnie w przeglądarce, a wpisana nazwa nie jest wysyłana na serwer. Wystarczy wpisać nazwę i odczytać wyniki na stronie.
Co oznacza labelhash pierwszej etykiety?
To skrót etykiety najbardziej z lewej w nazwie ENS. Dla vitalik.eth liczony jest skrót dla vitalik, a nie dla całej nazwy. Wynik ma postać 0x i 64 znaki hex.
Zobacz też — powiązane narzędzia
Narzędzie oblicza hashe lokalnie i nie zastępuje pełnej normalizacji ENSIP-15; przed użyciem nazwy w ENS zweryfikuj ją w oficjalnych bibliotekach.