Metaplex cache file丢失 无法更新public mint时间问题咨询
Metaplex 缓存文件丢失排查及修复方案
问题场景
完成Metaplex集合全流程上传、指定数量空投、集合验证操作,所有功能运行正常,调整public mint时间参数时发现指定路径下的明文缓存文件丢失,已排除文件隐藏属性问题。
修复操作步骤
- 直接从链上同步恢复缓存,无需重新上传全部资产
切换到你之前部署集合时使用的Metaplex CLI项目目录,执行缓存同步命令,执行前替换命令中占位的钱包路径、部署环境、链上Candy Machine地址为你实际使用的参数:ts-node ~/metaplex/js/packages/cli/src/candy-machine-v3-cli.ts cache sync --keypair <你的本地付款钱包路径> --env <你部署用的链环境,主网填mainnet-beta,测试网填devnet> --cache-path ./cache.json --candy-machine <你的链上Candy Machine合约地址>强制注意:必须使用和你当初部署集合时完全一致版本的Metaplex CLI,版本差会导致缓存字段解析错位,拉取的资产索引、空投记录、集合验证状态出错。
- 校验恢复后的缓存完整性
同步完成后直接跑校验命令,核对三个核心指标:已上传资产总数、已完成空投数量、Collection验证状态,三个指标和你之前的操作记录完全匹配才可以继续后续操作:ts-node ~/metaplex/js/packages/cli/src/candy-machine-v3-cli.ts verify --keypair <你的本地付款钱包路径> --env <部署链环境> --cache-path ./cache.json - 更新public mint时间参数
打开你准备好的新配置文件,把goLiveDate字段调整为你需要的UTC时间戳,确认其余参数和原配置一致后,执行更新命令即可完成参数调整:ts-node ~/metaplex/js/packages/cli/src/candy-machine-v3-cli.ts update --keypair <你的本地付款钱包路径> --env <部署链环境> --cache-path ./cache.json --config-file <你的新配置文件路径>
根因说明&后续规避
这类非人为删除、非隐藏状态的缓存丢失,90%以上是因为你之前把缓存文件存放在了系统临时目录、项目node_modules目录这类会被自动清理的路径下:系统定期磁盘清理、npm包更新操作、终端临时文件回收机制都会自动清理这类目录下的JSON格式无标记文件,不需要手动触发删除。
后续每次操作完Metaplex相关部署流程,第一时间把生成的cache.json备份到独立的非临时目录,不要存放在自动清理路径下。
内容的提问来源于stack exchange,提问作者simonTEE
相关产品推荐
相关产品推荐

