🎉 親愛的廣場小夥伴們,福利不停,精彩不斷!目前廣場上這些熱門發帖贏獎活動火熱進行中,發帖越多,獎勵越多,快來 GET 你的專屬好禮吧!🚀
🆘 #Gate 2025年中社区盛典# |廣場十強內容達人評選
決戰時刻到!距離【2025年中社區盛典】廣場達人評選只剩 1 天,你喜愛的達人,就差你這一票衝進 C 位!在廣場發帖、點讚、評論就能攢助力值,幫 Ta 上榜的同時,你自己還能抽大獎!iPhone 16 Pro Max、金牛雕塑、潮流套裝、合約體驗券 等你抱走!
詳情 👉 https://www.gate.com/activities/community-vote
1️⃣ #晒出我的Alpha积分# |曬出 Alpha 積分&收益
Alpha 積分黨集合!帶話題曬出你的 Alpha 積分圖、空投中獎圖,即可瓜分 $200 Alpha 代幣盲盒,積分最高直接抱走 $100!分享攢分祕籍 / 兌換經驗,中獎率直線上升!
詳情 👉 https://www.gate.com/post/status/12763074
2️⃣ #ETH百万矿王争霸赛# |ETH 鏈上挖礦曬收益
礦工集結!帶話題曬出你的 Gate ETH 鏈上挖礦收益圖,瓜分 $400 曬圖獎池,收益榜第一獨享 $200!誰才是真 ETH 礦王?開曬見分曉!
詳情 👉 https://www.gate.com/pos
零基礎搭建NFT去中心化交易平台全攻略
從零實現一個NFT去中心化交易平台
對於ERC-721協議的NFT來說,如何實現去中心化交易呢?目前主流的NFT交易所多採用掛單方式進行交易,類似於將商品陳列在超市貨架上,買家覺得價格合適就可以購買。
本文將通過編寫智能合約和簡單前端頁面,實現NFT的去中心化交易。需要注意的是,本文內容僅供學習參考,不適合直接用於生產環境。
NFT(Non-Fungible Token)簡介
NFT即非同質化代幣,遵循ERC-721協議,每個Token都是獨一無二的。NFT在錢包中通常會展示不同的圖片,並且每組NFT都有唯一的ID用於區分。
由於NFT的特性,無法像ERC-20代幣那樣通過價格曲線設定價格。因此,目前比較常見的交易方式是採用訂單簿的形式。
訂單簿交易模式
訂單簿模式下,商品價格由人爲設定,不同於某些DEX通過價格曲線計算價格的方式。訂單簿一般分爲兩種交易模式:
定價單:賣家設定出售價格,買家覺得合適即可購買。
求購單:買家發出求購訂單,賣家覺得價格合適即可出售。
通常求購單的價格會低於定價單。本文主要介紹定價單交易方式。
NFT去中心化交易平台的基本功能
一個基礎的NFT去中心化交易平台應該包含以下功能:
上架商品流程
合約中需要維護用戶上架商品價格的映射表。這部分數據也可以存儲在中心化服務中以減輕合約負擔,但本文將其維護在合約內。
購買商品流程
實現NFT去中心化交易平台
本節將從零開始實現一個NFT去中心化交易平台。
1. 創建NFT合約
爲測試需要,我們可以使用Remix快速部署一個ERC-721協議的NFT合約。當然也可以直接使用已準備好的NFT合約。
2. 編寫交易平台合約
交易平台合約應包含以下主要方法:
2.1 賣家上架NFT
上架流程:
上架方法需要:
2.2 買家購買NFT
購買流程:
2.3 取消上架
將listings中對應NFT的isActive字段設爲false即可。
2.4 提取手續費
將合約中累積的手續費提取到指定地址。
3. 開發交易平台前端
使用的主要工具:
前端應包含Mint、Buy和Portfolio三個頁面。
3.1 連接錢包
使用Ant Design Web3的連接組件實現錢包連接功能。
3.2 Mint頁面
用於鑄造測試用NFT,調用wagmi的useWriteContract方法與合約交互。
3.3 Portfolio頁面
管理用戶NFT,實現上架和下架功能。使用opensea API獲取用戶NFT列表,調用合約判斷NFT上架狀態。
3.4 Buy頁面
展示所有上架NFT,實現購買功能。調用合約的purchaseNFT方法完成交易。
完成以上步驟後,一個基礎的NFT去中心化交易平台就實現了。可將其部署到Vercel等平台進行訪問使用。