🎉 親愛的廣場小夥伴們,福利不停,精彩不斷!目前廣場上這些熱門發帖贏獎活動火熱進行中,發帖越多,獎勵越多,快來 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,實現去中心化交易的方式與 ERC-20 代幣有所不同。目前主流的 NFT 交易平台採用掛單方式進行交易,類似於將商品陳列在貨架上供買家選擇。本文將介紹如何通過編寫智能合約和簡單的前端界面,實現 NFT 的去中心化交易。請注意,本文內容僅供學習參考,不適用於實際生產環境。
NFT 簡介
NFT(非同質化代幣)是一種遵循 ERC-721 協議的獨特數字資產。每個 NFT 都有其獨特性,通常在錢包中以不同圖片形式展示,並擁有唯一的 ID 標識。由於 NFT 的特殊性質,無法像 ERC-20 代幣那樣通過價格曲線設定價格,因此常見的交易方式是使用訂單簿形式。
訂單簿交易模式
訂單簿交易模式主要分爲兩種:
本文將重點介紹定價單交易方式。
NFT 去中心化交易平台核心功能
一個基礎的 NFT 去中心化交易平台應包含以下功能:
商品上架流程
合約中需維護一個用戶上架商品價格映射表。雖然這部分數據可以存儲在中心化服務中以減輕合約負擔,但本文將其保留在合約內。
商品購買流程
實現 NFT 去中心化交易平台
接下來,我們將從零開始實現一個 NFT 去中心化交易平台。
1. 創建 NFT
爲測試需要,我們可以使用 Remix 快速部署一個符合 ERC-721 協議的 NFT 合約。也可以選擇使用預先準備好的 NFT。
2. 合約編寫
合約應包含以下核心方法:
2.1 賣家上架 NFT
上架方法需完成以下任務:
2.2 買家購買 NFT
購買方法執行以下步驟:
2.3 取消上架
通過將上架記錄中的 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 方法,並使用 ETH 支付。
完成以上步驟後,一個具備基本功能的 NFT 去中心化交易平台就建立完成了。可以將其部署到 Vercel 平台上進行展示和使用。