🎉 攢成長值,抽華爲Mate三折疊!廣場第 1️⃣ 2️⃣ 期夏季成長值抽獎大狂歡開啓!
總獎池超 $10,000+,華爲Mate三折疊手機、F1紅牛賽車模型、Gate限量週邊、熱門代幣等你來抽!
立即抽獎 👉 https://www.gate.com/activities/pointprize?now_period=12
如何快速賺成長值?
1️⃣ 進入【廣場】,點擊頭像旁標識進入【社區中心】
2️⃣ 完成發帖、評論、點讚、發言等日常任務,成長值拿不停
100%有獎,抽到賺到,大獎等你抱走,趕緊試試手氣!
截止於 8月9日 24:00 (UTC+8)
詳情: https://www.gate.com/announcements/article/46384
#成长值抽奖12期开启#
一文搞懂NFT去中心化交易平台開發全流程
從零開發一個NFT去中心化交易平台
對於遵循ERC-721協議的NFT來說,實現去中心化交易的方式與ERC-20代幣有所不同。目前主流的NFT交易平台多採用掛單模式,類似於超市貨架上陳列商品,買家可以自由選購。
本文將介紹如何通過智能合約和簡單的前端界面,實現一個基礎的NFT去中心化交易平台。需要注意的是,這只是一個學習示例,不適用於實際生產環境。
NFT特性及交易方式
NFT是非同質化代幣的簡稱,每個Token都是獨一無二的。通常NFT在錢包中會顯示不同的圖片,並且每組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,支持上架和下架操作。
需要調用合約的listNFT和cancelListing方法,並在上架前授權NFT給合約。
3.4 Buy頁面
展示所有上架的NFT,支持購買操作。
購買時調用purchaseNFT方法,並支付相應的ETH。
至此,一個基礎的NFT去中心化交易平台就開發完成了。我們可以將其部署到Vercel等平台進行測試使用。