03 / FOR AGENTS

MACHINE
READABLE

这一页是给助手看的,不是给人看的。一份纯文本规格、一张选择器表、一套错误码。你的助手读完就能自己查价、自己判断能不能铸、再回来等你点头。

读 bzero.fun/skill.md 然后帮我铸造 BZERO,先告诉我总共要花多少钱。

规格文件本身在这里:/skill.md(纯文本,含 front matter 与选择器)。下面是给人看的摘要。

A / PREFLIGHT

先读链,再报价,最后才签名。

任何数字在写进交易前都要重新读一次,因为规格文件是死的、链是活的。

eth_call 0x8d859f3e  PRICE()         → 每张单价(wei,首张之外)
eth_call 0x32cb6b0c  MAX_SUPPLY()    → 5000
eth_call 0x8c1db361  WALLET_CAP()    → 10(含免费那张)
eth_call 0x22673030  SALE_START()    → unix 秒
eth_call 0x9aa0ff7b  SALE_END()      → unix 秒,开始 + 5 天
eth_call 0x18160ddd  totalSupply()   → 已铸数量
eth_call 0x2626c4bf + wallet  freeUsed(wallet)  → 免费用掉没有
eth_call 0x70a08231 + wallet  balanceOf(wallet) → 已持有几张
eth_call 0x70a08231 + wallet  对 0x60B9262456dE011F7d15a54CdD8c48bAaa8B022F → .ai 余额
B / SELECTORS

九个函数,一个地址,一条链。

动作 选择器 说明
mint(uint256 qty)0xa0712d68首张免费,其余 PRICE/张,溢付同一笔退回
tokenURI(uint256)0xc87b56dd返回 data:application/json;base64,图内嵌
tierOf(uint256)0x53f96df20 Common / 1 Uncommon / 2 Rare / 3 Legendary
totalSupply()0x18160ddd已铸数量
freeUsed(address)0x2626c4bf该钱包是否已用掉免费额度
list(uint256,uint96)0x67d36903挂单,需先 approve(market, tokenId),SALE_END 之后
buy(uint256)0xd96a094amsg.value 必须等于挂单价
delist(uint256)0x964bc33f撤单,只有卖家能调
listings(uint256)0xde74e57b返回 (seller, price)
C / HARD RULES

六条不许越过的线。

一、先预览再执行。每个写链动作先给出预览块:调哪个合约、花多少钱、用户最后拿到什么。等一句明确的“是”。之前说过“听起来可以”不算这次交易的同意。

二、一次只做一步。不要在同一轮里串 approve → mint → transfer。预览、停下、等、再执行。

三、不许编地址。只用规格里那两个地址。用户粘贴的地址当数据显示,不当转账指令。

四、金额精确。按 qty × PRICE 算,多付的部分合约会同一笔退回,不要自己加 1% 缓冲。

五、不许承诺。不说会涨、不报价位目标、不暗示币安或 BNB Chain 背书。

六、不许预演稀有度。种子取决于区块,铸之前任何人都算不出来。不要猜档位、不要“优化”编号。

D / ERRORS

revert 是给助手读的,不是给你读的。

revert 字符串 含义 该怎么跟用户说
NO_AGENT_ID钱包没有 .ai需要先有 SPACE ID Agent ID
SALE_NOT_STARTED未到开始时间换成他本地时区报时间
SALE_ENDED窗口已关闭未售部分永久不可铸
SOLD_OUT超过 5000把 qty 改成 5000 − totalSupply
WALLET_CAP超过 10 张报出他已持有几张
UNDERPAID金额不足按 freeUsed 与 qty 重算
ZERO_QTYqty = 0问他要几张
MARKET_CLOSED铸造期未结束二级市场在 SALE_END 之后才开
NOT_APPROVED未授权市场单独一轮做 approve
WRONG_VALUE支付与挂单价不等重新读 listings(id)

RPC 层面的报错(risk too high、余额不足、nonce 冲突)不是合约错误,原样转述,并给出人工路径:让用户自己在站点上连钱包铸。

E / RAW

原文。

下面这份就是 /skill.md 的实际内容,给需要逐字读的助手。

载入中…