You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署Solana程序时报custom program error: 0x1错误该如何解决?

部署表现差异的核心原因
  • 首先是Solana CLI新旧部署命令的底层实现完全不同:
    • 不带program关键字的旧版solana deploy默认调用BPF Loader v2处理部署逻辑,新版solana program deploy默认使用BPF Loader v3作为部署执行器,两个加载器的账户权限校验、部署流程规则完全独立
    • 你已经通过旧版命令在主网部署过对应程序ID的账户,该账户的所有权属于BPF Loader v2,此时用新版solana program deploy尝试修改该账户数据时,BPF Loader v3校验账户所有权不匹配,就会抛出custom program error: 0x1的权限错误
  • 其次是devnet和主网的程序账户状态差异:
    • 你在devnet使用solana program deploy时是首次部署对应程序ID,链上没有历史账户记录,BPF Loader v3可以直接创建归属于自己的程序账户完成部署,因此不会报错
可行的解决方案
  • 如果你需要继续使用新版solana program deploy部署现有主网程序ID,需要在命令中追加--loader参数指定旧版部署使用的BPF Loader v2地址,匹配账户所属加载器即可完成部署
  • 如果不需要保留现有程序ID,可以生成新的程序密钥对,直接用新版命令部署即可
  • 也可以继续使用无program关键字的旧版部署命令完成主网更新,和你之前的操作逻辑保持一致

内容的提问来源于stack exchange,提问作者Foobar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 03:15:03