Přejít na hlavní obsah
Change page

Standard nezaměnitelných tokenů ERC-721

Úvod

Co je to nezaměnitelný token?

Nezaměnitelný token (NFT) se používá k jedinečné identifikaci něčeho nebo někoho. Tento typ tokenu je ideální pro použití na platformách, které nabízejí sběratelské předměty, přístupové klíče, losy, číslovaná sedadla na koncerty a sportovní zápasy atd. Tento speciální typ tokenu má úžasné možnosti, takže si zaslouží pořádný standard, a právě to přišel vyřešit ERC-721!

Co je ERC-721?

ERC-721 zavádí standard pro NFT, jinými slovy, tento typ tokenu je jedinečný a může mít jinou hodnotu než jiný token ze stejného chytrého kontraktu, možná kvůli svému stáří, vzácnosti nebo dokonce něčemu jinému, jako je jeho vzhled. Počkat, vzhled?

Ano! Všechna NFT mají proměnnou uint256 nazvanou tokenId, takže pro jakýkoli kontrakt ERC-721 musí být dvojice contract address, uint256 tokenId globálně jedinečná. To znamená, že decentralizovaná aplikace (dapp) může mít „převodník“, který používá tokenId jako vstup a na výstupu vytvoří obrázek něčeho skvělého, jako jsou zombie, zbraně, dovednosti nebo úžasná koťátka!

Předpoklady

Hlavní část

ERC-721 (Ethereum Request for Comments 721), který navrhli William Entriken, Dieter Shirley, Jacob Evans a Nastassia Sachs v lednu 2018, je standard nezaměnitelných tokenů, který implementuje API pro tokeny v rámci chytrých kontraktů.

Poskytuje funkce, jako je převod tokenů z jednoho účtu na druhý, získání aktuálního zůstatku tokenů na účtu, zjištění vlastníka konkrétního tokenu a také celkové nabídky tokenu dostupné v síti. Kromě toho má také některé další funkce, jako je schválení toho, že určité množství tokenů z účtu může být přesunuto účtem třetí strany.

Pokud chytrý kontrakt implementuje následující metody a události, může být nazýván kontraktem nezaměnitelných tokenů ERC-721 a po nasazení bude zodpovědný za sledování vytvořených tokenů na Ethereu.

Z EIP-721 (otevře se v nové kartě):

Metody

Události

    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);

Příklady

Pojďme se podívat, jak je standard důležitý pro to, aby nám usnadnil zkoumání jakéhokoli kontraktu tokenu ERC-721 na Ethereu. K vytvoření rozhraní pro jakýkoli token ERC-721 potřebujeme pouze aplikační binární rozhraní (ABI) kontraktu. Jak můžete vidět níže, použijeme zjednodušené ABI, aby to byl snadno pochopitelný příklad.

Příklad ve Web3.py

Nejprve se ujistěte, že máte nainstalovanou knihovnu Web3.py (otevře se v nové kartě) pro Python:

pip install web3

Kontrakt CryptoKitties má kromě těch standardních i některé další zajímavé události.

Pojďme se podívat na dvě z nich, Pregnant a Birth.

Další čtení

Návody: Budování s nezaměnitelnými tokeny (ERC-721) na Ethereu