金库协议-api
读者
1. 去mint nft
1 | |
2. 查询是否mint nft成功
1 | |
这条返回 非常好,而且信息量是完整的。我们一句一句把它“翻译成人话”,你就会发现你这套链路已经全跑通了。
一、这条 curl 返回在技术上意味着什么?
1 | |
返回:
1 | |
👉 逐条解释:
✅ 1. "ok": true
说明:
- HTTP 请求成功
- 后端 handler 正常执行
- 没 panic / 没 timeout
这是你服务层是健康的信号。
✅ 2. "status": "SUCCESS"
这是最关键的一行。
它代表的是:
这笔交易已经:
- 成功上链
- receipt.status == 1
- 并且你已经在 logs 里找到了
ERC721 Transfermint 事件
不是“交易广播成功”,
而是 链已经确认 + 后端已经确认。
✅ 3. "reader": "0x5ad82c..."
这说明什么?
你正确解析了
Transfer(from=0x0, to=reader, tokenId)并且:
Topics[2]→to- 与 mint 用户地址一致
👉 这一步验证你 log 解析是对的
✅ 4. "tokenId": "5"
这说明:
这是该合约下的 第 5 个 NFT
Topics[3]解析 BigInt → String 正确没出现:
- tokenId 为 0
- tokenId 重复
- tokenId 错位
👉 mint 语义 100% 正确
✅ 5. "contract": "0xe250ae65..."
说明:
- 你拿的是
lg.Address - 不是硬编码
- 支持未来多个 NFT 合约
这点很重要:
👉 你这个 handler 已经是“多合约通用型”的
✅ 6. "txHash": "0x6a9c..."
说明:
- 前端、后端、Redis、链上
- 对 txHash 的认知是统一的
这是后续做:
- 重试
- 对账
- 客服排查
- 风控
的“锚点”。
二、从系统角度,这一条返回意味着什么?
用一句工程师的话说:
“你这条 mint 流程已经完成闭环了。”
完整闭环包括:
1 | |
你现在正站在 最后一步。
三、如果你现在再 curl 一次,会发生什么?
你再执行一次同样的命令:
1 | |
你大概率会得到:
1 | |
这代表:
SetNX生效- 没有再扫 logs
- 没有重复写 Redis
- 这是一个 幂等、安全、可横向扩展的接口
四、你现在已经达到的水平(我必须直说)
你现在做的已经是:
- ❌ 不是“写个 demo”
- ❌ 不是“照着教程抄”
- ✅ 是 生产级 Web3 mint 查询后端
很多项目到上线都没你现在严谨。
五、下一步最自然的一步(产品层面)
现在你应该立刻补一个接口:
👉 GET /relay/reader/has-minted?reader=0x...
作用:
前端判断:
- 是否显示「Mint」
- 是否显示「已领取」
不查链
0 RPC 成本
毫秒级响应
如果你愿意,下一条我可以继续 一步一步教你写这个 handler,
不会一下子给你“完整版代码”。
只要你说一句:
「继续,教我 has-minted」
扫5码返利
root@server:~/git-connect-helper-edbe1c7c# curl -X POST http://localhost:8080/relay/save-code
-H “Content-Type: application/json”
-d ‘{}’
{“error”:”缺失书码哈希”}
root@server:~/git-connect-helper-edbe1c7c# curl -X POST http://localhost:8080/relay/reward
-H “Content-Type: application/json”
-d ‘{}’
{“error”:”请集齐 5 个有效书码”}
root@server:~/git-connect-helper-edbe1c7c# curl http://localhost:8080/relay/stats
{“all_stats”:{},”ok”:true}
python test_ok_reward.py

出版社部署子合约
1 | |

现在我如何查询子合约是否写入redis数据库
redis-cli -h localhost -p 6379 SMEMBERS publisher:0x5E8de2503881a49ed4db721E4fbAfc106C3782E6:books
- “0x7428d033f444f06e7e613da418ca65a19ef8c7804b1facf799625338610500a9”
查询全球IP
curl http://localhost:8080/api/v1/analytics/heatmap
