Devnet测试Candy Machine V2 如何重置资产无需新建实例
Candy Machine V2 不重建实例重置/新增测试资产操作方法
Candy Machine V2 原生支持部署后更新资产、调整总供应量,只要你持有部署时的更新权限钱包、实例没有被永久冻结,完全不需要新建Candy Machine就能完成测试环境重置,白名单等已配置的规则不会受任何影响。
注意:链上已经完成mint的资产索引会被永久标记为已兑换,没有原生指令可以直接把已mint的索引重置为可mint状态,测试场景下可以通过追加资产的方式绕开这个限制,操作全程5分钟以内就能完成。
重置原有10份资产回到全量可测试状态
- 第一步先临时关闭mint入口,避免操作过程中出现异常mint:
ts-node ~/metaplex/js/packages/cli/src/candy-machine-v2-cli.ts update_candy_machine -e devnet -k <你的部署钱包keypair文件路径> -c <你的CM配置json文件路径> --go-live-date "2099-01-01T00:00:00Z" - 找到你之前用来测试的10份NFT资产(图片+对应json元数据),把文件索引从原来的0-9改成从当前CM最大索引开始顺延编号——比如你现在总共有10个资产,最大索引是9,就把这10份文件重命名为10-19,放到你的资产上传目录里
- 执行上传命令把这10份重命名后的资产上传到Arweave:
ts-node ~/metaplex/js/packages/cli/src/candy-machine-v2-cli.ts upload -e devnet -k <部署钱包keypair路径> -c <CM配置文件路径> <你的资产目录路径> - 上传完成后执行校验,确认所有新上传资产都通过链上验证:
ts-node ~/metaplex/js/packages/cli/src/candy-machine-v2-cli.ts verify_upload -e devnet -k <部署钱包keypair路径> -c <CM配置文件路径> - 更新Candy Machine的总藏品数量为20(原有10个+新上传的10个):
ts-node ~/metaplex/js/packages/cli/src/candy-machine-v2-cli.ts update_candy_machine -e devnet -k <部署钱包keypair路径> -c <CM配置文件路径> --number-of-items 20 - 最后把goLiveDate改回你需要的测试时间,就可以重新开展10次mint测试了,之前剩余的2个可mint资产也能正常使用,白名单、价格等原有配置全部保留。
新增额外测试资产
新增资产的流程和上面追加资产的逻辑完全一致:
- 把需要新增的NFT资产按当前最大索引往后顺延编号,放入资产目录
- 依次执行
upload上传、verify_upload校验 - 执行
update_candy_machine把--number-of-items参数调整为「原有总数量+新增资产数量」即可 - 操作完成后不需要重新配置白名单、售卖时间、价格等参数,所有原有规则自动生效。
测试效率小技巧
如果只是需要反复验证mint、白名单逻辑,不需要验证NFT元数据唯一性,可以只保留1份测试资产,复制多份后按递增索引命名,一次性上传100份甚至更多,把总数量调到对应数值,就可以支撑上百次测试mint,不用每次重置都重复操作。
内容的提问来源于stack exchange,提问作者Liz
相关产品推荐
相关产品推荐

