メインコンテンツへスキップ
Change page

ERC-721 非代替性トークン標準

はじめに

非代替性トークンとは何ですか?

非代替性トークン(NFT)は、何かまたは誰かを一意に識別するために使用されます。このタイプのトークンは、コレクティブルアイテム、アクセスキー、宝くじ、コンサートやスポーツの試合の指定席などを提供するプラットフォームでの使用に最適です。この特別なタイプのトークンには驚くべき可能性があるため、適切な標準が必要であり、ERC-721がそれを解決するために登場しました!

ERC-721とは何ですか?

ERC-721はNFTの標準を導入します。言い換えれば、このタイプのトークンは一意であり、同じスマート・コントラクトからの別のトークンとは異なる価値を持つ可能性があります。それは、年齢、希少性、あるいは見た目のような他の要因によるものかもしれません。えっ、見た目?

はい!すべてのNFTにはtokenIdと呼ばれるuint256変数が含まれています。そのため、どのERC-721コントラクトにおいても、contract address, uint256 tokenIdのペアはグローバルに一意でなければなりません。つまり、分散型アプリケーション (dapp) は、tokenIdを入力として使用し、ゾンビ、武器、スキル、または素晴らしい子猫のようなクールなものの画像を出力する「コンバーター」を持つことができます!

前提条件

本文

2018年1月にWilliam Entriken、Dieter Shirley、Jacob Evans、Nastassia Sachsによって提案されたERC-721(イーサリアム Request for Comments 721)は、スマート・コントラクト内のトークン用のAPIを実装する非代替性トークン標準です。

あるアカウントから別のアカウントへトークンを送金する、アカウントの現在のトークン残高を取得する、特定のトークンの所有者を取得する、ネットワーク上で利用可能なトークンの総供給量を取得するなどの機能を提供します。これらに加えて、アカウントからの一定量のトークンを第三者のアカウントが移動できることを承認するなどの機能もあります。

スマート・コントラクトが以下のメソッドとイベントを実装している場合、それはERC-721非代替性トークンコントラクトと呼ぶことができ、デプロイされると、イーサリアム上で作成されたトークンを追跡する役割を担います。

EIP-721 (opens in a new tab)より:

メソッド

イベント

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

イーサリアム上の任意のERC-721トークンコントラクトを検査する際、標準がいかに物事をシンプルにするために重要であるかを見てみましょう。任意のERC-721トークンへのインターフェースを作成するには、コントラクトのアプリケーション・バイナリ・インターフェース(ABI)が必要です。以下に示すように、理解しやすい例にするために簡略化されたABIを使用します。

Web3.pyの例

まず、Web3.py (opens in a new tab) Pythonライブラリがインストールされていることを確認してください:

pip install web3

クリプトキティーズのコントラクトには、標準のもの以外にも興味深いイベントがいくつかあります。

PregnantBirthの2つを確認してみましょう。

  • Etherscan NFT Tracker (opens in a new tab)は、送金量によるイーサリアム上のトップNFTをリストアップしています。
  • クリプトキティーズ (opens in a new tab)は、繁殖可能でコレクティブルな、とても愛らしいクリプトキティーズと呼ばれる生き物を中心としたゲームです。
  • Sorare (opens in a new tab)は、限定版のコレクティブルを集め、チームを管理し、賞品を獲得するために競い合うグローバルなファンタジーフットボールゲームです。
  • Ethereum Name Service (ENS) (opens in a new tab)は、シンプルで人間が読める名前を使用して、ブロックチェーンの内外両方のリソースをアドレス指定するための安全で分散型の方法を提供します。
  • POAP (opens in a new tab)は、イベントに参加したり特定のアクションを完了したりした人々に無料のNFTを提供します。POAPは無料で作成および配布できます。
  • Unstoppable Domains (opens in a new tab)は、ブロックチェーン上にドメインを構築しているサンフランシスコを拠点とする企業です。ブロックチェーンのドメインは、暗号資産のアドレスを人間が読める名前に置き換え、検閲耐性のあるウェブサイトを可能にするために使用できます。
  • Gods Unchained Cards (opens in a new tab)は、イーサリアムブロックチェーン上のTCGであり、NFTを使用してゲーム内資産に真の所有権をもたらします。
  • Bored Ape Yacht Club (opens in a new tab)は、10,000個のユニークなNFTのコレクションです。証明可能な希少なアート作品であるだけでなく、クラブのメンバーシップトークンとしても機能し、コミュニティの努力の結果として時間とともに増加するメンバーの特典や利益を提供します。

参考文献

チュートリアル: イーサリアム上で非代替性トークン(ERC-721)を使用して構築する