Solana Candy Machine运行出现读取'_bn'属性TypeError如何解决
Solana Metaplex Candy Machine 报错
Cannot read properties of undefined (reading '_bn')排查方案 该错误是@solana/web3.js实例化公钥对象时,传入了空值/无效格式的参数导致的,和是否先创建Candy Machine无关,按以下步骤排查:
- 修正密钥对文件路径
你当前使用的路径C:\Windows\System32\~\.config\solana\devnet.json不符合Windows路径规范,系统无法识别路径中间的~符号,也不会自动解析为用户目录。请替换为密钥对的完整绝对路径,格式参考:"C:\Users\你的用户名\.config\solana\devnet.json",替换后先在资源管理器访问该路径,确认devnet.json文件真实存在、内容格式正确。 - 补全前置操作步骤
执行create_candy_machine、verify命令的前置要求是先完成资产上传。请先执行上传命令:
待上传执行完成、项目下生成ts-node packages/cli/src/candy-machine-cli.ts upload ./assets --env devnet --keypair "替换为你的正确密钥对路径".cache/devnet-temp.json缓存文件后,再执行创建、验证命令。 - 修复依赖版本兼容问题
旧版Metaplex Candy Machine V1 CLI和高版本@solana/web3.js存在兼容问题,可在仓库的js目录下执行以下命令固定依赖版本:
安装完成后重新运行命令即可。npm install @solana/web3.js@1.39.1 - 校验配置文件格式
检查项目根目录下的Candy Machine配置文件(通常为config.json),确认所有公钥类字段(比如treasuryWallet、创作者地址)都填写了有效的Solana地址,无空值、错填、特殊符号问题。
内容的提问来源于stack exchange,提问作者Circle Hsiao
相关产品推荐
相关产品推荐

