solana - 如何在 Anchor 上升级程序 ID
问题描述
每次我在 Solana 上部署锚程序时,它都会创建一个新的程序 ID。无论如何要使用相同的程序 ID 升级锚程序?
解决方案
默认情况下,anchor deploy 命令将部署一个新的程序 ID。如果要升级现有程序,请使用此命令
anchor upgrade target/deploy/<PROGRAM_NAME>.so --provider.cluster <CLUSTER> --program-id <PROGRAM_ID>
在哪里
- PROGRAM_NAME 是您生成的 .so 文件的文件或名称
- 集群是您想要部署到的环境(例如“Devnet”)
- PROGRAM_ID 是您要升级到的现有程序 ID
https://project-serum.github.io/anchor/cli/commands.html#upgrade
推荐阅读
- python - 当我尝试使用 {% url %} 将数据提取到 url 以实现 PayPal 结帐时,找不到 url。为什么?
- node.js - 使用 Sequelize 在 Postman 上发布表单数据引发约束错误
- python - 我无法在 PySimpleGUI 中使用菜单
- java - 为什么它在再次要求用户输入之前运行 3 次?
- java - 寻宝 java 二维数组
- ios - 错误:无法从 http://rubygems.org/ 下载数据 - 超时 (http://rubygems.org/specs.4.8.gz)
- flutter - Flutter:渲染在 android 设备上工作正常,但在不同大小的 iOS 设备上溢出
- emacs - 在掩埋缓冲区上的 goto-char 后 Emacs 没有移动点
- visual-studio - 如何修复这个 cmake ninja lexing 错误?
- amazon-cloudformation - 假定角色无权执行:route53:ListHostZonesByDomain;将 Route53 策略添加到 CodePipeline CodeBuildAction 的假定规则