🎉 #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-20代币的去中心化交易后,我们不禁要问:如何实现ERC-721协议(即NFT)的去中心化交易呢?
目前,主流NFT交易平台采用挂单模式进行交易,类似于超市货架上的商品展示。买家看中价格合适的NFT就可以直接购买。
本文将带您一步步构建一个简单的NFT去中心化交易平台,包括智能合约编写和基础前端界面开发。请注意,本文内容仅供学习参考,不适用于实际生产环境。
NFT简介
NFT(非同质化代币)遵循ERC-721协议,每个Token都是独一无二的。NFT通常在钱包中以不同图片形式展示,并拥有专属ID以作区分。
由于NFT的独特性,无法像ERC-20代币那样通过价格曲线定价。因此,常见的NFT交易方式是采用订单簿形式。
订单簿交易模式
订单簿交易主要有两种模式:
通常,求购单价格会低于定价单。本文将重点介绍定价单模式。
NFT去中心化交易平台核心功能
一个基础的NFT去中心化交易平台应具备以下功能:
上架NFT流程
合约中需维护一个用户上架商品价格映射表。虽然这部分数据可以存储在中心化服务中以减轻合约负担,但本文将其保留在合约中。
购买NFT流程
构建NFT去中心化交易平台
接下来,我们将逐步实现一个NFT去中心化交易平台。
1. 创建测试用NFT
为测试需要,我们可以使用Remix快速部署一个符合ERC-721协议的NFT合约。当然,也可以直接使用现有的NFT进行测试。
2. 智能合约开发
我们的合约需要包含以下核心功能:
2.1 NFT上架
卖家上架NFT时需要指定NFT和价格。上架过程包括:
合约上架方法需完成:
2.2 NFT购买
买家购买NFT时,合约需执行:
2.3 取消上架
卖家可取消上架NFT。合约中使用isActive字段标记商品是否有效,取消上架时只需将该字段设为false。
2.4 提取手续费
平台可在每笔交易中收取手续费,本例中将手续费存储在合约中。
3. 前端开发
前端开发使用以下工具:
前端应用包含三个主要页面:Mint、Buy和Portfolio。
3.1 连接钱包
使用Ant Design Web3的连接组件实现钱包连接功能。为提高查询速度,建议使用节点服务如ZAN的endpoint。
3.2 Mint页面
使用wagmi的useWriteContract方法实现NFT铸造功能。
3.3 Portfolio页面
展示用户拥有的NFT,支持上架和下架操作。使用opensea API获取NFT列表,并通过合约方法判断NFT上架状态。
3.4 Buy页面
展示所有已上架的NFT,并提供购买功能。购买时调用purchaseNFT方法,使用ETH支付。
完成以上步骤后,一个基础的NFT去中心化交易平台就搭建完成了。您可以将其部署到Vercel等平台上进行测试和使用。