不少虛擬貨幣(Cryptocurrency)和代幣(Token)均以ERC-20作為框架,目前市值最高的100隻首次代幣發行代幣(ICO token)中,近9成均以Ethereum(以太坊)的區塊鏈作為平台及其ERC-20準則發行的代幣。不過,早前有遊戲公司突破界限,嘗試以ERC-721,寫出可做到NFT(Non Fungible Token,非同質代幣)的遊戲,並最終獲Ethereum官方承認!究竟ERC-721與ERC-20的分別何在?為什麼ERC-721能追蹤和確認虛擬資產所有權?拾捌堂立即為你剖析!
ERC的全寫為Ethereum Request for Comments,是以太坊開發者在公開徵求意見後,建立出一套可以遵循的標準,讓以太坊開發者在撰寫智能合約時能更為流暢的一個準則。先介紹ERC-20,一般要在以太坊平台運作的貨幣,都會參照ERC-20作為其智能合約的標準,要寫成以ERC-20為基礎的虛擬貨幣或代幣,就要參照以下函數(Function):
1.代幣的全名
2.代幣的縮寫
3.代幣的最小單位數值
4.代幣的總量(TotalSupply)
5.查詢帳戶代幣餘額 BalanceOf (address _owner) constant returns (uint256 balance)
6.轉移代幣
7.轉移代幣事件
8.從 A 地址轉移代幣給B地址transferFrom(address _from, address _to, uint256 _value) returns (bool success)
9.批准代幣轉移 approve(address _spender, uint256 _value) returns (bool success)
10.A 地址批准給 B 地址的代幣數量transfer(address _to, uint256 _value) returns (bool success)
11.代幣批准觸發事件 allowance (address *_owner*, address *_spender*) constant returns (uint256 remaining)
而ERC-721之所以和ERC-20有這麼大的差別,就是因為ERC-721除了需要基於ERC-20的所有函數之外,還加入了以下的函數:
1.代幣所有權發送ownerOf(uint256 _tokenId)
constant returns (address owner)
2.代幣所有權提取:takeOwnership(uint256 _tokenId)
此外,還在原有的批准代幣轉移,以及轉移代幣條款上作出重寫:
1.代幣批准授權:approve(address _approved, uint256 _tokenId)
2.轉移代幣: transfer(address _to, uint256 _tokenId)
在加入一系列新條款,以及重寫部分條文後來,ERC721就有了單獨記錄每枚代幣ID的功能,成為數碼資產史上首次能做到獨一無二的效果,這就是NFT為什麼能夠追蹤和確認虛擬資產所有權誰屬的關鍵所在!
三大編輯精選: