ERC-721 Tokens คืออะไร มาทำความรู้จักกัน

Kaseres
Under Ledger
Published in
2 min readMar 9, 2022

ERC-721 คือมาตราฐานอันนึงของ token ที่อยู่บน Ethereum หรือทรัพย์สินดิจิทัลบน Blockchain ซึ่งจะแสดงความเป็นเจ้าของกับสิ่งของนั้นแต่เพียงผู้เดียว (Non-Fungible)

ภาพตัวอย่างรูปภาพ NFT

หากเปรียบเทียบความแตกต่างระหว่างโทเคน ERC-721 กับ ERC-20 กล่าวคือ

ERC-20 เปรียบเสมือนสกุลเงินดิจิทัลที่ไว้ใช้ได้เหมือนกันหมด

ERC-721 เปรียบเสมือนแมวแต่ละตัวที่มีสีต่างกัน และแต่ละตัวเราจะขายไม่เท่ากัน แล้วแต่ความสวยของแมว ซึ่งหากเราไปซื้อแมวจากร้านที่ขาย สิทธิ์การเป็นเจ้าของแมวจะเปลี่ยนมาเป็นของเราทันที

ทีนี้เรามาลองสร้างเหรียญ ERC-721 กันเถอะ

มาดูส่วน ERC721 standard

จากบทเรียนใน Zombie Crypto Lesson 5 ERC721 จะมีฟังก์ชันให้ใช้อยู่ 5 ฟังก์ชัน ซึ่งแต่ละฟังก์ชันจะใช้แตกต่างกันดังนี้

function balanceOf(address _owner) public view returns (uint256 _balance) ฟังก์ชั่นนี้จะเป็นการรับ address เข้ามาและ return จำนวน ทรัพย์สิน ที่ address ของเราครองอยู่ว่ามีกี่อัน ตัวอย่างเช่น เรามีแมวอยู่ 5 ตัว

function ownerOf(uint256 _tokenId) public view returns (address _owner) ฟังก์ชันนี้จะบ่งบอก ID ของทรัพย์สินแต่ละตัวของเราว่ามีอะไรบ้าง ตัวอย่างเช่น แมว 5 ตัวชื่อ แสนดี แสนซน แสนรัก แสนสุข แสนหวาน เป็นต้น

function transfer(address _to, uint256 _tokenId) public ฟังก์ชันที่ใช้ในการโอนสิทธิ์การเป็นเจ้าของทรัพย์สิน

function approve(address _to, uint256 _tokenId) public ฟังก์ชันยันก่อนจะโอนสิทธิ์การเป็นเจ้าของทรัพย์สิน

function takeOwnership(uint256 _tokenId) public ฟังก์ชันเพื่อตรวจสอบว่าได้รับการยืนยันการโอนสิทธิ์แล้วหรือยัง

การใช้งาน ERC-721 Solidity

เราจะทำการ Import ไฟล์ erc721.sol จากนั้นประกาศ inherit ใน contract ของ ZombieOwnership เช่นเดียวกับ ZombieAttact

จากรูป จะมีการใช้ using SafeMath for uint256 ซึ่งเป็น library พิเศษใน Solidity โดยตัวอย่างจะใช้อยู่ 4 ฟังก์ชั่น ได้แก่ add, sub, mul, และ div

mapping (uint => address) zombieApprovals เป็นการเรียกใช้ Address ของเราเอง

📑หากต้องการศึกษาเกี่ยวกับ ERC-721 หรือ ต้องการศึกษาเกี่ยวกับ Solidity แนะนำ

Reference :

--

--