领取条件表读完再点:thirdweb 条件顺序、门禁与双轨计价 图 1
领取条件表读完再点:thirdweb 条件顺序、门禁与双轨计价 · 图 1

免费铸造、白名单优先、按持有某系列打折、每小时限量一百枚——现代 NFT 领取页面上这些玩法的底层,是 thirdweb 合约里一个叫领取条件系统的东西:一组按顺序评估的规则,决定此刻这个钱包能不能领、付多少、领几枚。它把过去要用定制 Solidity 写死的铸造逻辑变成了部署后可配置的声明式规则。这一篇按执行顺序拆这套系统,重点讲条件类型、匹配方式和条件之间的相互作用,因为大量铸造事故(重复领、白名单没生效、价格算错)的根因都在这里。

先建立骨架。合约维护一个条件数组,按数组顺序逐条评估:找到钱包满足的第一条,就用这条的规则执行领取,后面的条件不再看。每个条件由三部分组成:身份核验方式、配额与价格参数、时间窗。身份核验覆盖四类常用姿势——白名单(Merkle 树证明,钱包提交证明路径)、代币门禁(持有指定合约的指定系列达到指定数量)、价格参数(这条条件下单枚价格,可为零)、原生币与ERC-20双轨计价。配额维度同样丰富:每钱包上限、每条件总量上限、合约全局上限,外加条件级与合约级的开始结束时间。

按执行顺序看一遍匹配过程。钱包发起领取交易,合约从条件零开始逐条测试:条件带白名单的,验证 Merkle 证明是否命中当前钱包地址;带代币门禁的,查询余额;两项都不带的条件视为公开条件。第一个通过的条件生效,合约检查该条件剩余额度与该钱包在本条件的已领数量,检查通过才铸造并扣额。理解两条容易忽略的规则能解释大量页面现象:公开条件排在白名单条件之前,白名单形同虚设——所有人都先命中零门槛的那条;时间窗以区块时间戳评估,页面倒计时是前端猜测,链上生效时刻与前端显示可以差出几分钟。

价格与代币类型是第二个雷区。条件可以声明以 ERC-20 代币计价(需要用户对代币合约的授权,领前没授权交易直接失败,报错却常被翻译成资格问题),也可以混合接受原生币;条件数组里相邻两条价格不同,前端展示哪个取决于它假设你是白名单还是路人——这就是同一集合不同人看到不同铸价的全部原因。检查自己适用哪条的可靠方法不是截图对价格,而是用只读查询在浏览器里跑一遍领取资格函数,返回的直接是匹配的索引与应付金额。

合约侧还有两个常被问到的开关值得放进清单。合约是否永久冻结上限——开启后全局铸造总量锁死不可调,这是链上可验证的信任声明,比任何路线图承诺都硬;代币权限配置——铸造出来的代币是普通 ERC-20 半融合(ERC-20 加 ERC-721 双栖)还是纯 NFT 形态,取决于部署时的代币类型参数,资产形态问题在部署时已定,领取规则改不动它。

对参与者的实操总结成三问:问顺序——条件数组顺序即规则优先级,公开条件在前意味着人人平等,你的白名单可能根本排不到被评估;问计价——用哪种代币、是否已授权,比价格数字本身更容易踩坑;问窗口——区块时间说了算,链上函数是唯一真相源。这套系统把所有铸造政策摊成一张可查的条件表,会读这张表的人,不再需要相信任何营销文案里的那句免费领。再补一处容易被忽略的配置维度:条件可以嵌套组合出常见运营节奏——先白名单两天、再公开一周、最后按持有某系列打折的返场,三段时间用三个条件的起止时间接力即可实现,团队无需写一行新代码。这也是读表习惯值钱的地方:页面上的倒计时、按钮文案、价格标签都是条件表的投影,投影可以有多种合法解释,条件表本身只有一种。养成领前用只读函数查一遍匹配索引的习惯,等于把营销页翻译成数据库查询,一切歧义当场消失。

本文为机制说明,不构成任何投资建议。

领取条件表读完再点:thirdweb 条件顺序、门禁与双轨计价 图 2
领取条件表读完再点:thirdweb 条件顺序、门禁与双轨计价 · 图 2