文档

铸造、揭晓和合约是怎么运作的,怎样亲自验证每一部分,以及常见问题和条款。

概览

Flaggies 是一套 5,555 个像素角色的收藏品:同一个大家庭,画给全部 195 个国家。每个角色都穿着本国的颜色,站在家乡的地标前。

类型数量说明
男性1,950每国 10 个
女性1,950每国 10 个
动物1,170本国的国家动物,每国 6 个
机器人390每国 2 个
传奇9595 个国家各有一个:等级 1/1

每个 Flaggie 的属性里都写着它的 Base(男性、女性、机器人的涂装,或动物的物种;传奇则是金色版本)和它的 Tier。 拥有传奇的 95 个国家每国只有一个,所以标为 Tier 1/1。

合约是 BNB Chain 上标准的 ERC-721,支持 ERC-2981 版税和 ERC-4906 元数据更新。每张图片都是 32 × 32 像素,以 1024 × 1024 存放在 IPFS 上。

准备什么

  • 一个 Binance Agentic Wallet。铸造是你的 AI 代理通过这个钱包发起的一次合约调用。
  • 钱包里有 .ai Agent ID。合约会检查调用的钱包是否持有 SPACE ID 系列的 Agent ID。Agent ID 是灵魂绑定的,不能借来铸造。
  • 在币安 App 里开启开发者模式(Developer Mode)。钱包进行任何合约调用都需要它。
  • 少量 BNB 作为 gas,另加铸造价格:???。

安装

最简单的方法是把 skill 文件交给你的代理。它会告诉代理该运行哪些命令,以及什么时候要先问你。skill 和 Flaggies CLI 会在铸造开放时发布,每个版本都附带 SHA-256,安装前可以先核对文件。关注 @flaggies_world 第一时间获取消息。

钱包这一侧现在就可以准备:

npm i -g @binance/agentic-wallet

Flaggies CLI 从不保管私钥。它只读取链上数据、准备调用,每一次签名都通过你的 Agentic Wallet 完成。

命令

每个命令都输出 JSON,好的代理会把它翻成你看得懂的话。

命令作用
flaggies preflight检查钱包、Agent ID 和开发者模式,并说明缺什么、怎么补。
flaggies info当前阶段、剩余数量、价格,以及你已铸造的数量和剩余额度。
flaggies quote --count N你的钱包再铸造 N 个的准确费用。
flaggies mint --count N预览铸造并返回请求 ID,这一步还不会发送任何东西。
flaggies execute --request-id ID在你确认之后,发送已预览的调用。
flaggies reveal到时间后预览揭晓。任何人都可以调用。
flaggies tx --hash HASH等待交易回执,并列出铸造出的代币 ID。
flaggies mine --traits你持有的代币 ID,揭晓后还会显示作品和属性。
flaggies market 等挂单、购买和出价,见市场。

铸造和揭晓永远是三步:预览、你确认、再执行。预览大约五分钟后过期。

铸造规则

  • 价格:???价格写死在合约里,无法更改。
  • 每个钱包最多 ??? 个,按铸造次数计算。卖掉一个并不会让钱包多出额度。
  • 代币按顺序铸造:1、2、3……代币 ID 和它将显示的作品没有任何关系。
  • 多付的钱会在同一笔交易里退回。不过 CLI 本来就只发送准确金额。
  • 在铸造关闭之前,所有者可以暂停和重新开放铸造。一旦关闭,就永久关闭。

揭晓

揭晓之前,每个代币都显示同一个剪影。作品会一次性分配给所有代币。

  1. 铸造关闭。要么最后一个 Flaggie 被铸造,要么所有者调用 endMint。从那以后谁都不能再铸造,包括所有者。
  2. 揭晓区块定在五个区块之后。铸造关闭时这个区块的哈希还不存在,所以没人能知道它。
  3. 那个区块过去之后,任何人都可以调用 reveal()。区块哈希会确定一个随机偏移量,代币 t 显示原始作品 (t − 1 + offset) mod 5555 + 1。

这个哈希在 8,191 个区块内可读,在 BNB Chain 上大约一小时。如果这段时间内没人调用 reveal(),下一次调用会重新设定一个新的揭晓区块,而不是去猜。 合约里没有备用种子,因为任何事先可知的数值,都可能被关闭铸造的人利用。

揭晓之后,调用合约的 originalIdOf(tokenId) 就能知道你的代币显示的是哪一张图片。

市场

Flaggies 有自己的市场合约,专为代理设计。每个操作都是一次合约调用,所以和铸造一样,都走预览、确认、执行的流程。

命令作用
flaggies market有效挂单(从最便宜开始)、出价(从最高开始)和地板价。
flaggies approve-market一次性授权,让市场在成交时把你的 Flaggie 转给买家。
flaggies list --token ID --price BNB挂单出售你持有的 Flaggie,默认 30 天(用 --days 最多 90 天)。成交之前它一直留在你的钱包里。
flaggies buy --token ID按挂单价准确付款购买。
flaggies offer --price BNB [--token ID]对某一个 Flaggie 出价;不加 --token 则是对任意 Flaggie 出价。默认 30 天(用 --days 最多 90 天)。
flaggies accept --id N [--token ID]接受出价卖出。对任意 Flaggie 的出价,由你决定卖哪一个。
flaggies unlist、cancel-offer撤下挂单,或撤回出价并取回 BNB。
flaggies claim [--to ADDRESS]领取市场无法直接转给你的 BNB,可以转到你指定的任意地址。
  • 每笔成交都支付版税(Flaggies 设定的 ???),其余归卖家。市场本身不收任何费用。
  • 出价的 BNB 存放在市场合约里,直到被接受或被撤回。每个出价都会过期,最长 90 天,过期后任何人都可以把 BNB 退还给出价人。
  • 铸造结束时,挂单和出价全部失效。铸造结束约两秒后,任何人都能算出每个代币对应哪件作品,而这时揭晓还没有上链。所以铸造结束前(无论铸造进行中、暂停还是尚未开放)做的挂单和出价都会在铸造结束时失效;在有人运行 flaggies reveal 之前,市场不接受新的挂单或出价。揭晓之后再重新挂单或出价。旧出价里的 BNB 随时可以用 cancel-offer 取回(flaggies market --mine 会显示编号),任何人也可以替你退还。
  • 每个挂单都会过期,最长 90 天。想提前停止出售,请撤下挂单。不要靠转走代币或取消授权来“取消”:只要它们在到期前恢复,挂单也会跟着恢复。
  • 挂单只在卖家还持有代币时有效。代币一旦转走,挂单就无法成交,任何人都可以清除它。
  • 买家必须按挂单价准确付款。如果在购买确认前价格变了,交易会失败,而不是按另一个价格付款。
  • 市场没有所有者。没人能暂停它、修改规则,或动用它为出价保管的 BNB。唯一的暂停就是上面说的铸造结束到揭晓之间那一段,它写在合约里。

实时挂单簿见市场页面。Flaggies 是标准的 ERC-721 代币,所以 BNB Chain 上的其他市场也可以上架它们。

验证作品

合约部署时就带着全部 5,555 张图片按原始顺序计算出的 provenance 哈希。图片会在揭晓时公开,IPFS 文件夹地址(CID)届时公布在这里。之后任何人都可以重新计算:

curl -o images.car "https://ipfs.filebase.io/ipfs/<images CID>?format=car"
npx ipfs-car unpack images.car --output images
cd images
for i in $(seq 1 5555); do sha256sum "$i.png" | cut -c1-64; done | tr -d '\n' | sha256sum

结果必须等于合约上 provenance() 的值:

3830c2b685170b48a3d22ac15cbc0dd37c31da3901417b2f4b5559f13166abf9

上面的网关可以换成任何 IPFS 网关或节点,因为这个文件夹是按内容寻址的。

所有者权限

合约有一个所有者。下面列出所有者能做的全部事情,以及合约对它的限制。

所有者可以限制
开放或暂停铸造只在铸造关闭之前。
提前关闭铸造(endMint)不可撤销。和售罄一样会启动揭晓。
让代币指向揭晓后的元数据只能在揭晓确定偏移量之后,并且只能在冻结之前。
修改占位元数据只能在冻结之前。
冻结元数据永久生效,之后任何元数据都不能再改。
设置版税接收方和比例比例永远不能超过 ???。
提取铸造收入只限合约持有的 BNB。
转让或放弃所有权在元数据冻结、余额提走之前不能放弃。

所有者不能修改价格、总量或 provenance 哈希,不能免费铸造,不能选择揭晓偏移量,也不能转走任何人的代币。

揭晓后的元数据放在 IPFS 上,地址由所有者设置。任何人都可以用链上的偏移量和经过 provenance 验证的图片,重建出应有的元数据,并在冻结之前进行比对。

错误

错误含义怎么办
NO_AGENT_ID钱包里没有 .ai Agent ID。在币安钱包里领取一个。
DEV_MODE_OFF开发者模式未开启或已过期。在币安 App 里开启。
WalletLimit钱包已达上限,或请求数量超过剩余额度。少铸造几个,或者停止。
MintClosed尚未开放、已暂停,或已为揭晓而关闭。运行 flaggies info 查看。
SupplyExceeded剩余数量少于请求数量。按剩余数量铸造。
InsufficientPayment报价已过时。重新报价并预览。
"not due yet"揭晓区块还没到。等显示的区块过去,再揭晓。

地址

合约地址会在铸造开放时公布在这里。在此之前,任何自称是 Flaggies 的地址都不是我们的。

Provenance
0x3830c2b685170b48a3d22ac15cbc0dd37c31da3901417b2f4b5559f13166abf9
链
BNB Chain,ID 56

常见问题

铸造

为什么只有 AI 代理能铸造?

Flaggies 是为代理时代做的:铸造发生在代理里,而不是网页上的一个按钮。合约只接受持有 .ai Agent ID 的钱包调用,而这个 ID 是为 Binance Agentic Wallet 领取的。

没有代理能铸造吗?

不能。普通钱包没有 Agent ID,合约会拒绝调用。不过你可以从铸造者手里买一个 Flaggie。

要花多少钱?

???。价格写在合约里,永远不会变。

我最多能铸造几个?

每个钱包 ??? 个。按铸造次数计算,所以卖掉一个并不会多出额度。

代理会不问我就花钱吗?

不应该。skill 要求代理先给你看数量和费用,等你说“好”之后才发送。Agentic Wallet 也会让每一次调用先经过币安的风险检查预览。

揭晓

什么时候能看到我的 Flaggie?

铸造结束时:要么全部 5,555 个铸造完,要么铸造被提前关闭。五个区块之后任何人都可以触发揭晓,所有代币会在同一时刻拿到作品。

有人能挑到稀有款吗?

不能。作品由一个区块哈希分配,而这个哈希要等铸造永久停止后才会出现。没人能“铸造、偷看、撤销”,团队也不能选择。

如果没人触发揭晓怎么办?

这个区块哈希大约一小时内都可用。如果过了这段时间,下一次调用会设定一个新的揭晓区块,所以揭晓只会推迟,永远不会靠猜。

怎么知道作品没被调包?

全部 5,555 张图片在第一次铸造之前就已计算哈希,哈希存在合约里,图片也已经公开在 IPFS 上。文档里有四行命令可以自己验证。

收藏系列

有我的国家吗?

全部 195 个国家都有。去国家墙上搜索你的国家。

有 1/1 等级吗?

有。95 个传奇约占整个系列的 1.7%,分属 95 个国家,每国一个。它们的元数据里写着 Tier 1/1,旁边是 Base,比如 Gold Jaguar 或 Gold Robot。

有代币或者路线图吗?

没有代币。Flaggies 就是作品加上一次公平的揭晓。除了这些页面和合约写明的内容,没有任何其他承诺。

持有之后

在哪里交易 Flaggies?

在 Flaggies 市场,通过你的代理:挂单、购买、出价和接受出价,全部都是普通的合约调用。Flaggies 也是标准的 ERC-721 代币,所以 BNB Chain 上的其他市场也能上架。详见市场。

有版税吗?

合约通过 ERC-2981 设定 ??? 版税,而且永远不能调得更高。Flaggies 市场每笔成交都会支付版税,其他市场是否遵守由它们自己决定。

我能用我的 Flaggie 作品做什么?

见条款里的授权部分。