🎉 #Gate Alpha 第三届积分狂欢节 & ES Launchpool# 聯合推廣任務上線!
本次活動總獎池:1,250 枚 ES
任務目標:推廣 Eclipse($ES)Launchpool 和 Alpha 第11期 $ES 專場
📄 詳情參考:
Launchpool 公告:https://www.gate.com/zh/announcements/article/46134
Alpha 第11期公告:https://www.gate.com/zh/announcements/article/46137
🧩【任務內容】
請圍繞 Launchpool 和 Alpha 第11期 活動進行內容創作,並曬出參與截圖。
📸【參與方式】
1️⃣ 帶上Tag #Gate Alpha 第三届积分狂欢节 & ES Launchpool# 發帖
2️⃣ 曬出以下任一截圖:
Launchpool 質押截圖(BTC / ETH / ES)
Alpha 交易頁面截圖(交易 ES)
3️⃣ 發布圖文內容,可參考以下方向(≥60字):
簡介 ES/Eclipse 項目亮點、代幣機制等基本信息
分享你對 ES 項目的觀點、前景判斷、挖礦體驗等
分析 Launchpool 挖礦 或 Alpha 積分玩法的策略和收益對比
🎁【獎勵說明】
評選內容質量最優的 10 位 Launchpool/Gate
從零搭建NFT去中心化交易平台:智能合約與前端實現
實現一個簡單的NFT去中心化交易平台
對於遵循ERC-721協議的NFT來說,如何實現去中心化交易呢?目前主流的NFT交易平台大多採用掛單方式進行交易,類似於商品陳列在貨架上,買家覺得價格合適就可以購買。本文將通過編寫智能合約和簡單的前端頁面,來實現一個基礎的NFT去中心化交易功能。
NFT(非同質化代幣)簡介
NFT即非同質化代幣,遵循ERC-721協議,每個Token都是獨一無二的。一般NFT在錢包中會展示不同的圖片,並且每組NFT都有唯一的ID進行區分。由於NFT的特性,無法像ERC-20代幣那樣通過價格曲線設定價格,因此常見的交易方式是通過訂單簿形式。
訂單簿交易模式
訂單簿模式下商品價格由人爲設定,區別於自動做市商根據價格曲線計算價格的方式。訂單簿通常有兩種交易模式:
一般來說,求購單價格會低於定價單。本文主要介紹定價單交易方式。
NFT交易平台的基本功能
一個基礎的NFT交易平台應該包含以下功能:
上架商品流程
合約中需維護用戶上架商品價格映射表。
購買商品流程
實現NFT交易平台
本節將從零開始實現一個簡單的NFT交易平台。
1. 創建測試用NFT
可以使用Remix快速部署一個ERC-721協議的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,支持上架和下架操作。
上架流程:
下架:調用cancelListing方法
3.4 Buy頁面
展示所有上架的NFT,支持購買操作。
購買時調用purchaseNFT方法,使用ETH支付。
完成以上步驟後,一個具備基本功能的NFT交易平台就實現了,可以部署到Vercel進行測試使用。