前回はERC20トークンスタンダードという最も流通しているコインの基準をしらべました。今回はNFT (Non Fungible Token:代替不可能なトークン)の基準として有名なERC721(EIP-721)について調べます。ERC721の作者たちのシンプルな要約は以下のようです。
A standard interface for non-fungible tokens, also known as deeds.
つまりこの基準インターフェースは代替不可能なトークン(つまるところ証明書)を扱いやすくするためのものです。このスタンダードを満たすNFTは第三者との取引、委託が可能になります。NFTは物理的・仮想的な様々な財産を象(かたど)ることができます、つまり所有権の証明ができます。
物理的な例では家や絵画、仮想的な例では電子絵画や電子トレーディングカード、また負の価値を持つ財産であるローンや借金の所有証明ができます。ERC20トークンは別のトークン同士はNon fungible(代替不可能)ですが、一種類のトークン内ではっ基本的にFungible(代替可能)です。例えば"ETH"と"DAI"は同じものではないが、僕のウォレットにある"1ETH"とVitalik Buterinのウォレットにある"1ETH"は同じものという感じです。これではNFTを作るためには毎回総供給量1の新しいERC20トークンを作らなくてはならなくなります。それを解決しようと試みているのがERC721です。
トークン自体に整数で_tokenIdをつけることによって同一のERC721トークン内のトークンの違いを作っています。誰がこのトークンの_tokenId何番を持っているという情報をしっかりさせているところがERC20との主な違いですね。
コードごとに分解するのはちょっともうあれなのでやめておきます、自分でERC20とERC721を実装したトークンをMintしてみたいと思います。