🎉 亲爱的广场小伙伴们,福利不停,精彩不断!目前广场上这些热门发帖赢奖活动火热进行中,发帖越多,奖励越多,快来 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 平台上进行展示和使用。