如何在 Anchor 上升级程序 ID

How to upgrade a program id on Anchor

每次我在 Solana 上部署 Anchor 程序时,它都会创建一个新的程序 ID。有什么方法可以使用相同的程序 ID 升级 Anchor 程序吗?

默认情况下,anchor deploy 命令将部署一个新的程序 ID。如果要升级现有程序,请使用此命令

anchor upgrade target/deploy/<PROGRAM_NAME>.so --provider.cluster <CLUSTER> --program-id <PROGRAM_ID>

在哪里

  • PROGRAM_NAME是你生成的.so文件的文件或名称
  • ClUSTER 是您要部署到的环境(例如“Devnet”)
  • PROGRAM_ID 是您要升级到的现有程序 ID

https://project-serum.github.io/anchor/cli/commands.html#upgrade