SimpleMarket链上市场控制台 · Sepolia

未连接

合约状态 只读

加载中…
合约地址与区块浏览器

我的 NFT ERC721Enumerable

未授权
连接钱包后显示

挂单 / 撤单 / 改价 卖家 · 需授权

挂单只登记价格,NFT 仍留在你钱包;成交时合约凭授权代转移。

尚未查询

购买 买家 · 自动预估分账

下单前先按 quoteWithRoyalty 算出平台费与版税,多付的部分会原额退回。

尚未预估

市场在售一览 只读 · 逐个 getListing

挂单存在 mapping 里,合约无法把它枚举出来,所以这里遍历 tokenId 0 … nextTokenId-1 逐个查 getListing,只留下在售的。这是「给合约补一个列表页」最直接的做法。

未刷新 每次刷新会发 nextTokenId 次只读请求(不上链、不花 gas)
连接钱包后点「刷新在售」
规模变大之后怎么办

tokenId 上千之后逐个查询就不现实了。届时的标准做法是监听 Listed / PriceUpdated / Canceled / Sold 事件,在链下(数据库或前端内存)维护一份索引, 再用 getListing 做交叉校验。项目里的 scripts/market-board.js 就是这个思路的完整实现,可以直接 npx hardhat run 跑。

EIP-712 签名挂单 卖家 · 零 gas

离线签名即可挂牌,全程不上链、不花 gas;把生成的 JSON 发给买家去成交。

用签名成交 买家 · 付 gas

粘贴卖家给你的签名 JSON,按其中的价格发起成交。

尚未解析

出价 买家 · ETH 进合约代管

出价按出价人分桶,同一枚 NFT 可多人同时出价;重复出价是累加(加价)。

尚未查询

处置出价 持有者

拒绝时若对方拒收 ETH,退款会进待领池(不 revert),保证你永远能拒绝。

资金 Pull Payment

合约从不主动转账,所有款项记账后由收款人自取。

加载中…

日志 每笔交易哈希与状态