Jak sprawdzić autentyczność tokenu NFT?

0

Taki przykład: firma (zespół muzyczny) która robi np piosenkę, do tej piosenki zachęca żeby doinwestować w nią i wydaje token NFT. Mówi, że po wejsciu na stronę ten token da wam dostęp do unikalnych materiałów które są dostępne tylko dla ich właścicieli. Jak zatem programowo sprawdzić taki token? Czyli jak zrobić, że klient wchodzi na serwis i co dalej? Co musi podać?

0

Chodzi o to, żeby token NFT miał wartość to musi coś oferować. Czyli np Ktoś kto kupi wasze tokeny może później mieć korzyści. Można go sprzedać i kolejny właściciel może mieć jakieś korzyści. I teraz np wiemy, że jest kilka sieci BC na których opierają się popularne tokeny NFT. Wiec trzeba zaimplementować połączenie do takiego BC i sprawdzić w jakiej sieci jest NFT i jego autentyczność.

Przykład:

  1. Kupujesz obrazek NFT do gry call of duty
  2. Wchodzisz do sklepu na strone CoD i logujesz sie do konta
  3. Wgrywasz swój obrazek NFT na ich strone
  4. strona sprawdza czy jest autentyczny z sieci np ETH
  5. Jeśli jest to wchodzisz na strone gdzie możesz ściagnąć unikalne skorki do broni, plansze, dodatki itd

Wiec ciekawi mnie jak to zrealizować?

1

Hej, bardzo prosto @chomikowski .

W np ERC1155 każdy token NFT ma swój token_id i supply - czyli np token_id 123 z supply 1000 informuje Cię że tylko 1000 tokenów może być w sieci. Teraz wystarczy że user zaloguje się swoim walletem np za pomocą metamaska/wallet-connect - pobierasz od usera jego adres - teraz odpytujesz swój ERC1155 balanceOf gdzie w parametrze przekazujesz token_id 123 i adres usera - otrzymujesz balans ile użytkownik posiada tokenów - teraz masz potwierdzenie że ten user ma tego tokena NFT - teraz wystarczy że dodasz logowanie "web3" do swojej zastrzeżonej strony gdzie są materiały dodatkowe i jak user się zaloguje dajesz mu dostęp.

Logowanie "web3" działa tak:

  1. Serwer wysyła wiadomość do podpisania, np: "Aby się zalogować, podpisz tą wiadomość"
  2. frontend otrzymuje wiadomość i wywołuje metodę signMessage (różnie to się nazywa w zależności od providera web3)
  3. User podpisuje kluczem prywatnym.
  4. Frontend pobiera sygnaturę, klucz publiczny, adres walleta
  5. Server weryfikuje adres waleta czy zgadza się z kluczem publicznym
  6. Server weryfikuje czy sygnatura wiadomości zgadza się z kluczem publicznym
  7. Jak Tak masz pewność że ten user to ten a nie ktoś kto się podszywa
  8. Dajesz dostęp do strony "zabezpieczonej"

W razie pytań pinguj.

0

adres kontraktu.
https://opensea.io/assets/ethereum/0x99903e8ec87b9987bd6289df8eff178d6e533561/1313
Każda seria NFT ma swój adres kontraktu. Wystarczy że go zweryfikujesz.

screenshot-20221213221524.png

0
Korges napisał(a):

adres kontraktu.
https://opensea.io/assets/ethereum/0x99903e8ec87b9987bd6289df8eff178d6e533561/1313
Każda seria NFT ma swój adres kontraktu. Wystarczy że go zweryfikujesz.

Nie wprowadzaj w błąd. NFT to kilka standardów a opensea jest najgorszym przykładem na którym można bazować.

1 użytkowników online, w tym zalogowanych: 0, gości: 1