Przejdź do głównej treści
Change page

Standard tokena niezamiennego (NFT) ERC-721

Wprowadzenie

Czym jest token niezamienny (NFT)?

Token niezamienny (NFT) służy do unikalnej identyfikacji kogoś lub czegoś. Ten typ tokena idealnie nadaje się do wykorzystania na platformach oferujących przedmioty kolekcjonerskie, klucze dostępu, losy na loterię, numerowane miejsca na koncertach i meczach sportowych itp. Ten specjalny rodzaj tokena ma niesamowite możliwości, więc zasługuje na odpowiedni standard, a ERC-721 powstał, aby to rozwiązać!

Czym jest ERC-721?

ERC-721 wprowadza standard dla NFT, co oznacza, że ten typ tokena jest unikalny i może mieć inną wartość niż inny token z tego samego inteligentnego kontraktu, na przykład ze względu na jego wiek, rzadkość, a nawet coś innego, jak jego wygląd. Zaraz, wygląd?

Tak! Wszystkie NFT mają zmienną uint256 o nazwie tokenId, więc dla każdego kontraktu ERC-721 para contract address, uint256 tokenId musi być globalnie unikalna. Oznacza to, że zdecentralizowana aplikacja (dapp) może mieć „konwerter”, który wykorzystuje tokenId jako dane wejściowe i generuje obraz czegoś fajnego, na przykład zombie, broni, umiejętności lub niesamowitych kotków!

Wymagania wstępne

Treść

ERC-721 (Ethereum Request for Comments 721), zaproponowany przez Williama Entrikena, Dietera Shirleya, Jacoba Evansa i Nastassię Sachs w styczniu 2018 roku, to standard tokena niezamiennego, który implementuje API dla tokenów w ramach inteligentnych kontraktów.

Zapewnia on funkcjonalności takie jak transfer tokenów z jednego konta na drugie, pobieranie aktualnego salda tokenów na koncie, sprawdzanie właściciela określonego tokena, a także całkowitej podaży tokena dostępnej w sieci. Oprócz tego posiada również inne funkcje, takie jak zatwierdzanie, że określona ilość tokenów z danego konta może zostać przeniesiona przez konto strony trzeciej.

Jeśli inteligentny kontrakt implementuje poniższe metody i zdarzenia, można go nazwać kontraktem tokena niezamiennego ERC-721, a po wdrożeniu będzie on odpowiedzialny za śledzenie utworzonych tokenów w sieci Ethereum.

Z EIP-721 (opens in a new tab):

Metody

Zdarzenia

    event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);
    event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);
    event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);

Przykłady

Zobaczmy, dlaczego standard jest tak ważny, aby ułatwić nam badanie dowolnego kontraktu tokena ERC-721 w sieci Ethereum. Potrzebujemy tylko binarnego interfejsu aplikacji (ABI) kontraktu, aby utworzyć interfejs do dowolnego tokena ERC-721. Jak widać poniżej, użyjemy uproszczonego ABI, aby przykład był jak najbardziej przystępny.

Przykład w Web3.py

Najpierw upewnij się, że masz zainstalowaną bibliotekę Web3.py (opens in a new tab) dla języka Python:

pip install web3

Kontrakt CryptoKitties ma kilka interesujących zdarzeń innych niż te standardowe.

Sprawdźmy dwa z nich: Pregnant oraz Birth.

  • Etherscan NFT Tracker (opens in a new tab) wyświetla listę najlepszych NFT w sieci Ethereum według wolumenu transferów.
  • CryptoKitties (opens in a new tab) to gra skupiona wokół uroczych stworzeń, które można hodować i kolekcjonować, zwanych CryptoKitties.
  • Sorare (opens in a new tab) to globalna gra fantasy football, w której możesz zbierać przedmioty kolekcjonerskie z limitowanych edycji, zarządzać swoimi drużynami i rywalizować o nagrody.
  • Ethereum Name Service (ENS) (opens in a new tab) oferuje bezpieczny i zdecentralizowany sposób adresowania zasobów zarówno w blockchainie, jak i poza nim, przy użyciu prostych, czytelnych dla człowieka nazw.
  • POAP (opens in a new tab) dostarcza darmowe NFT osobom, które uczestniczą w wydarzeniach lub wykonują określone działania. POAP-y można tworzyć i dystrybuować za darmo.
  • Unstoppable Domains (opens in a new tab) to firma z siedzibą w San Francisco, która tworzy domeny na blockchainach. Domeny blockchain zastępują adresy kryptowalut czytelnymi dla człowieka nazwami i mogą być używane do tworzenia stron internetowych odpornych na cenzurę.
  • Gods Unchained Cards (opens in a new tab) to gra karciana (TCG) na blockchainie Ethereum, która wykorzystuje NFT, aby zapewnić graczom rzeczywistą własność zasobów w grze.
  • Bored Ape Yacht Club (opens in a new tab) to kolekcja 10 000 unikalnych NFT, które oprócz tego, że są dziełami sztuki o udowodnionej rzadkości, działają jako tokeny członkowskie klubu, zapewniając członkom korzyści i przywileje, które z czasem rosną w wyniku działań społeczności.

Dalsza lektura

Samouczki: Budowanie z użyciem tokenów niezamiennych (ERC-721) w sieci Ethereum