solana - 程序 key 对除了程序部署之外还有其他用途吗?

标签 solana anchor-solana solana-program-library solana-transaction-instruction

当我们使用 Anchor cli 在 Solana 上进行程序部署时,它将读取target/deploy/<program>-keypair.json处生成的 key 对。并用它来签署初始部署的指令。

如果我理解正确的话,根据create_account指令:https://docs.rs/solana-program/latest/solana_program/system_instruction/fn.create_account.html

该程序 key 对用于对程序帐户进行签名,以证明您确实是该程序ID的所有者。

但是,在初次部署之后,似乎之后的所有操作都是类似 SetAuthority Upgrade Close不再需要程序 key 对,只需要UpgradeAuthority的 key 对.

那么我是否可以将程序 key 对视为一次性使用 key 对,并且可以在初始部署后丢弃?或者除了最初的程序部署之外它还有其他目的吗?

谢谢!

最佳答案

目前,除了初始部署之外,程序部署 key 对没有任何用处。但是,将其存储在某处仍然很有用,因为您需要将其部署到任何其他集群(例如 Testnet)或基于 SVM 的网络(例如 Eclipse)。

关于solana - 程序 key 对除了程序部署之外还有其他用途吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77550799/

相关文章:

cryptography - 将 Assets 链接到 solana token

本地主机网络中的 Solana 空投 TCP 错误

javascript - SolanaWeb 3.js 包 TypeError : s. TransactionInstruction 不是构造函数

solana - 如何在 Solana 程序中正确声明程序 ID?

rust - 将 Solana PDA 相互连接

rust - 如何避免我的 anchor 程序抛出 "Access violation in stack frame"?

javascript - 如何使用 phantom 钱包和 solana web3js 转移 NFT spl 代币

javascript - 如何通过 '@solana/web3.js' 和 '@solana/sol-wallet-adapter' 传输自定义 SPL token