บทช่วยสอน: เรียนรู้วิธีใช้ Solidity เพื่อสร้าง NFT ของคุณเองในสามนาที
บทความอ้างอิง: วิธีสร้าง NFT ด้วย Solidity
โดย แพทริก คอลลินส์
เรียบเรียงและเรียบเรียง: Chen Zou
NFT(Non-Fungible Tokens,โทเค็นที่ไม่เป็นเนื้อเดียวกัน) เป็นหนึ่งในดาวเด่นในด้านสัญญาอัจฉริยะ และเป็นมาตรฐานโทเค็นที่คล้ายกับ ERC20 หากปี 2020 เป็นปีแห่ง DeFi อย่างน้อยที่สุดในปี 2021 ส่วนใหญ่จะเป็นของ NFT
Non-fungible หมายความว่าไม่ซ้ำกัน ซึ่งแตกต่างจากโทเค็น ERC20 ซึ่งเป็นโทเค็นที่ทำงานร่วมกันได้ทั้งหมด ตัวอย่างของการทำให้เป็นเนื้อเดียวกัน ธนบัตรดอลลาร์ของคุณจะมีมูลค่า 1 ดอลลาร์ไม่ว่าคุณจะใช้ธนบัตรดอลลาร์ใด หมายเลขซีเรียลบนธนบัตรดอลลาร์อาจแตกต่างกัน แต่ธนบัตรสามารถใช้แทนกันได้ เพราะยังไงก็มีค่าเท่ากับ 1 ดอลลาร์อยู่ดี
ชื่อระดับแรก
ความคืบหน้าการพัฒนาของ NFT
สิ่งแรกที่ต้องชัดเจนคือ NFT มีศักยภาพที่ไร้ขีดจำกัด ในเดือนกุมภาพันธ์ปีนี้ Axie Infinity ขาย 9 แปลงในราคา 888.25 ETH (มูลค่าปัจจุบันประมาณ 3.91 ล้านเหรียญสหรัฐ)
ชื่อระดับแรก
มาตรฐาน
ดังที่กล่าวไว้ข้างต้น NFT เริ่มต้นด้วยมาตรฐานโทเค็น ERC721 ซึ่งมีไวยากรณ์คล้ายกับ ERC20 พร้อมการปรับเปลี่ยนบางอย่าง
เพื่อให้สัญญาของคุณได้รับการยอมรับจากระบบว่าเป็น NFT สิ่งที่ต้องทำคือปฏิบัติตามมาตรฐานนี้ เรานำเข้ามาตรฐานนี้ในสัญญาของเรา ดังนั้นเราจึงไม่ต้องสร้างวงล้อใหม่ทุกครั้งที่ต้องการทำสัญญาใหม่
NFT มีตัวแปร tokenURI ซึ่งเราจะพูดถึงในอีกสักครู่ พวกเขามีการจับคู่ tokenIds กับเจ้าของ แต่ละโทเค็นมีของตัวเอง"เจ้าของ". สิ่งนี้แตกต่างจาก ERC20 ซึ่งมีการแมปที่อยู่กับยอดคงเหลือเท่านั้น ERC721 ยังคงอนุญาตให้ผู้ใช้ถ่ายโอนโทเค็น ตั้งค่าการอนุญาตบนโทเค็น ฯลฯ ตามแบบแผนแล้ว นี่คือมาตรฐานที่มีน้ำหนักเบา เราจึงสามารถสร้างอะไรก็ได้ตามต้องการ
นี่คือสิ่งที่เริ่มแตกต่างไปจากเดิมอย่างสิ้นเชิง - ข้อมูลเมตา เมื่อคุณเข้าสู่ OpenSea (ตลาด NFT ชั้นนำ) คุณจะเห็นภาพมากมาย ดังนั้น เนื่องจาก NFTs อยู่ใน blockchain ข้อมูลทั้งหมดควรอยู่ใน chain ใช่ไหม ก็ไม่เชิง
การจัดเก็บข้อมูลบนเครือข่ายอาจมีค่าใช้จ่ายสูง และขนาดไฟล์ของอาร์ตเวิร์กมักไม่เล็กเกินไป นักพัฒนา Ethereum และ smart contract ตระหนักว่าการอัปโหลดแม้แต่ภาพขนาด 1 MB ก็ทำให้เลิกทำธุรกิจได้อย่างรวดเร็ว ดังนั้นพวกเขาจึงต้องสร้างวิธีการแสดงผลงานโดยไม่ต้องเก็บข้อมูลจำนวนมาก
เพื่อเป็นการแก้ปัญหา NFT ส่วนใหญ่มีสิ่งที่เรียกว่า tokenURI นี่คือตัวระบุที่ไม่ซ้ำกันทั่วโลกซึ่งใช้ในด้านการมองเห็นของ NFT สิ่งนี้ทำให้เพิ่มเอฟเฟ็กต์ภาพให้กับ NFT ได้ง่ายขึ้น URI คือ Uniform Resource Identifier ซึ่งอาจเป็นการเรียก HTTPS API บางอย่างผ่าน IPFS หรือตัวระบุเฉพาะประเภทอื่นๆ ข้อมูลเมตานี้มีลักษณะดังนี้
โครงสร้างไฟล์ JSON เป็นดังนี้:
name
description
image
attributes
ไฟล์เหล่านี้มักจะเก็บไว้ใน API หรือ IPFS
ตอนนี้คุณอาจมีข้อสงสัย"ชื่อระดับแรก"
ข้อมูลเมตาแบบออนไลน์ VS ข้อมูลเมตาแบบออฟไลน์
หากคุณต้องการให้ NFT ของคุณมีสิ่งที่น่าสนใจทั้งหมดที่คุณสามารถจินตนาการได้ คุณสมบัติแบบ on-chain นั้นเป็นสิ่งจำเป็น หากต้องการยกตัวอย่างบางส่วน หากคุณต้องการให้สถิติการต่อสู้แก่พวกเขา เช่น โปเกมอน สถิติหายากบางประเภท หรือให้พวกเขามีความขาดแคลนที่เข้ารหัสแบบออนไลน์ คุณสมบัติเหล่านี้ต้องเป็นแบบออนไลน์ (เนื่องจากสิ่งเหล่านี้จำเป็นต้องตรวจสอบย้อนกลับ ปลอมแปลงได้ และเปิดเผยต่อสาธารณะ)
ปัจจุบัน แพลตฟอร์ม NFT ไม่มีวิธีที่ดีในการแสดงภาพคุณสมบัติบนเครือข่าย ดังนั้นคุณเพียงแค่ต้องสร้าง tokenURI ด้วย NFT ที่สร้างขึ้นใหม่
สำหรับ tokenURI หนึ่งในวิธีที่ได้รับความนิยมมากที่สุดคือการใช้ IPFS เพื่อจัดเก็บข้อมูลของคุณ คุณต้องอัปโหลดข้อมูลของคุณที่นั่นแล้วใช้บริการปักหมุดเพื่อให้แน่ใจว่าข้อมูลจะอยู่ที่นั่นตลอดไป ฉันรอคอยที่จะมีปฏิสัมพันธ์มากขึ้นระหว่างแพลตฟอร์มสัญญาอัจฉริยะและด้านสตอเรจ
เคล็ดลับ: ต่อไปนี้เป็นเวลาของฉันที่จะพูดคุยกับตัวเอง แพลตฟอร์มสัญญาอัจฉริยะที่ด้านหน้า Chainlink ตรงกลาง dStorage ที่ด้านหลัง...แต่นั่นเป็นหัวข้ออื่น
พูดตามตรง ตอนแรกฉันคิดว่า NFT นั้นโง่เขลา นอกเหนือจากนั้น ฉันเคยคิดว่าศิลปะเป็นสิ่งที่คนงี่เง่าทำ...แต่เมื่อพิจารณาว่าฉันชอบดนตรี ภาพยนตร์ และเกมที่มีภาพที่ดี ฉันคงเสแสร้งที่จะพูดแบบนั้น NFT แก้ปัญหาความเจ็บปวดที่มีมายาวนานในโลกศิลปะเกี่ยวกับค่าลิขสิทธิ์และความถูกต้อง ขณะนี้เรามีบริการตรวจสอบแบบกระจายอำนาจ หากคุณต้องการใช้อาร์ตเวิร์คของใครบางคน คุณสามารถดูทุกอย่างเกี่ยวกับอาร์ตเวิร์กนั้นได้บนเครือข่าย
ผู้สร้างดั้งเดิมของ Nyan cat ขายเวอร์ชัน NFT ในราคา 300 ETH สิ่งนี้พิสูจน์ให้เห็นว่าความขาดแคลนทางดิจิทัลนั้นมีค่า
หากคุณสร้างสิ่งที่น่าทึ่ง มันก็มีคุณค่าที่ไม่เหมือนใคร นั่นเป็นเหตุผลที่ฉันคิดว่าการเป็นเจ้าของ Chainlink VRF (บริการสร้างหมายเลขสุ่มของ Chainlink) NFT เป็นสิ่งสำคัญมาก เพราะคุณสามารถสร้างของสะสมที่หายากมากได้ ฉันรอคอยที่จะมีคนสร้างเกมประเภทโปเกมอนบนแพลตฟอร์มเหล่านี้ NFT เหล่านี้จะคงอยู่ตลอดไป
ชื่อระดับแรก
สัญญา NFT ที่เรียบง่าย
นี่เป็นวิธีที่ง่ายที่สุดในการเล่นด้วยสัญญา NFT รวมถึงไวยากรณ์สำหรับ Truffle, Hardhat และ Brownie ฉันชอบใช้สัญญา OpenZepplin เพราะมีโครงสร้างที่ดีมากและมีเครื่องมือทั้งหมดที่เรามักจะต้องใช้เพื่อเริ่มทำงานทันที ตรวจสอบให้แน่ใจว่าได้ติดตั้งล่วงหน้า:
npm install @openzeppelin/contracts
ชื่อระดับแรก
สัญญา NFT เวอร์ชันขั้นสูง
ในสัญญา NFT นี้ เราใช้ Chainlink VRF เพื่อให้สถานะแบบสุ่มแก่ NFT ของเรา ในกรณีนี้ เรากำลังใช้การสุ่มเพื่อให้สุนัขของเรามีสายพันธุ์แบบสุ่ม เมื่อเราเรียก createCollectible ในครั้งนี้ เรากำลังส่งคำขอไปยัง Chainlink Oracle เพื่อส่งคืนหมายเลขสุ่มที่พิสูจน์แล้วด้วยการเข้ารหัส ด้วยวิธีนี้จะไม่มี "การดำเนินการในกล่องดำ" ที่อาจทำลายความยุติธรรมของเกม คำขอนี้เป็นแบบอะซิงโครนัสและเราต้องรอให้ Chainlink oracle ทำรายการที่สองด้วย nonce
สรุป:
สรุป:
บทความนี้มาจาก Bitpush.News ทำซ้ำโดยได้รับอนุญาต
บทความนี้มาจาก Bitpush.News ทำซ้ำโดยได้รับอนุญาต


