自己部署铸造合约时:Manifold Creator Core 的 mintBaseNew 与 mintBaseExisting 差在哪 图 1
自己部署铸造合约时:Manifold Creator Core 的 mintBaseNew 与 mintBaseExisting 差在哪 · 图 1

多数 NFT 发行走共享合约:项目方不部署任何合约,挂靠在平台的大合约上。Manifold 的另一条路线正相反:Creator Core 是一套让你部署自己合约的套件,支持 ERC-721 与 ERC-1155,每个项目一座独立的链上堡垒。本文依据 docs.manifold.xyz 的 Creator Core 与 ERC-1155 Functions 两页整理,函数签名与版本以官方仓库及文档当日版本为准。

部署路径有两条:官方 Studio 当前覆盖以太坊网络,走界面流程;要在 Polygon、Optimism、Arbitrum 等其他 EVM 链上用,文档给的办法是克隆公开仓库后用 Solidity IDE 自行部署。这条边界要说直白:工具是开源的,链是你自己选的,部署后的权限管理、合约地址核对责任也在项目方——共享合约模式的省事,在这里全部换成自主与自担。

合约层的铸造入口值得逐字读。以 ERC-1155 为例,mintBaseNew 接收收款地址数组、数量数组、URI 数组,铸造全新的代币编号,URI 留空则回落到合约里配置的默认 URI;mintBaseExisting 不创建新编号,而是给已存在的代币追加数量,官方文档明确它要求原代币已经存在,且不接受由扩展合约铸造的代币。差别在审计时立竿见影:同一个地址再收一枚“同编号”的量,前者的动作是无中生有,后者是给已有库存加库存,事件日志与供应曲线的含义完全不同。

权限是另一条主线。这两个铸造函数在文档中均标注为 Owner/Admin 函数,只有合约所有者可调用。对持有者,这既是好消息也是风险面:外部没有人能铸,但项目方的密钥一旦失守,加铸在链上完全合法。可核对的缓解手段在地址本身——把部署合约与所有者地址回查浏览器,观察所有者近期动作;若项目挂了多签或时间锁,风险结构又不相同。

URI 回落还引出一个常被问到的场景:项目方铸造时全部传空串,于是整个合集共用一个默认档案地址。好处是省 Gas、易统一改;代价是默认 URI 指向的内容若可变更,全合集的档案一起被改写,且改写不会自动通知每个持有者。观察点在于默认 URI 的托管位置——写在链上的内容改不了,指向服务器路径的内容随服务器走。买家核对档案稳定性时,可以按“这枚币的档案最终落在一串字节上,还是落在一个可替换的网址上”来分层理解,两类项目在元数据长期可用性上的差异,几年后回头看会非常明显。

对想读合约的用户,这套接口的命名本身也是一份文档。函数名里的 Base 表示资产直接归属主合约,与扩展合约铸造的资产相对;New 与 Existing 的分工写在两个动词上;参数里数组的对应顺序(哪个地址收哪个编号、各收多少)要求调用方自己保证长度一致,错位传参会铸出张冠李戴的归属。链上事件日志会忠实记录每一次调用的参数与结果,这意味着自主合约项目的增发史是完全可审计的:谁调的、铸给谁、编号几何,逐笔可查,不需要任何统计网站代言。项目方若声称“从未追加铸造”,在自主合约模式下这是一句一句话就能验证或证伪的承诺。

需要区分的是,权限标注说的是“谁能调这个函数”,不是“调了之后资产去哪”。mintBaseNew 铸出的资产直接进入参数指定的收款地址,不存在平台代收的中转层——这与前文 fxhash 的分账结构、交易所的托管形态都不同,是自主合约路线上最干净的交割路径。路径越干净,地址写错的代价越直接。

URI 回落机制也值得留意:铸造时传空串即用默认 URI,意味着一整个编号的档案由合约级默认值统一供给,后续是否变更取决于合约实现。给“看到 mintBaseExisting 事件”的朋友一句翻译:这不是发新币,是给旧款补货。补货合不合规则,回到项目承诺的供应量条款里找答案。本文为机制说明,不构成任何投资建议。

自己部署铸造合约时:Manifold Creator Core 的 mintBaseNew 与 mintBaseExisting 差在哪 图 2
自己部署铸造合约时:Manifold Creator Core 的 mintBaseNew 与 mintBaseExisting 差在哪 · 图 2