BTC
ETH
HTX
SOL
BNB
ดูตลาด
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

บทช่วยสอน: เรียนรู้วิธีใช้ Solidity เพื่อสร้าง NFT ของคุณเองในสามนาที

星球君的朋友们
Odaily资深作者
2021-11-05 07:49
บทความนี้มีประมาณ 2908 คำ การอ่านทั้งหมดใช้เวลาประมาณ 5 นาที
หากปี 2020 เป็นปีแห่ง DeFi อย่างน้อยที่สุดในปี 2021 ส่วนใหญ่จะเป็นของ NFT
สรุปโดย AI
ขยาย
หากปี 2020 เป็นปีแห่ง DeFi อย่างน้อยที่สุดในปี 2021 ส่วนใหญ่จะเป็นของ 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 ทำซ้ำโดยได้รับอนุญาต

NFT
ยินดีต้อนรับเข้าร่วมชุมชนทางการของ Odaily
กลุ่มสมาชิก
https://t.me/Odaily_News
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
บัญชีทางการ
https://twitter.com/OdailyChina
กลุ่มสนทนา
https://t.me/Odaily_CryptoPunk
ค้นหา
สารบัญบทความ
ดาวน์โหลดแอพ Odaily พลาเน็ตเดลี่
ให้คนบางกลุ่มเข้าใจ Web3.0 ก่อน
IOS
Android