生产环境中的签名

只有携带所有必要签名者有效 签名的交易才能执行。在本地开发阶段,您通常将密钥保存为 Keypair 并直接签名。而在生产环境中,关键问题则截然不同:私钥存储在哪里,谁有权使用它授权签名?

切勿将私钥嵌入客户端代码、打包进前端,或提交至源代码管理系统。任何获取密钥的人都将完全控制该账户的资金。

签名方式

方式密钥存储位置签名者适用场景
本地 keypair机器上的文件或环境变量您的代码,直接签名本地开发、测试、CI
浏览器钱包终端用户的钱包(如 Phantom、Solflare)终端用户,逐笔交易签名用户自行签署交易的前端 dApp
云端 KMS / HSM硬件支撑的密钥服务(AWS KMS、GCP KMS、Vault)您的后端向服务请求签名后端服务、资金库操作、受监管环境
托管 / MPC 钱包在提供商基础设施中分散或托管提供商根据您的策略共同签名嵌入式钱包、审批工作流、机构托管

本地 keypair 是唯一一种将原始密钥材料置于应用程序内部的方式。每种生产环境方式都将密钥保存在专用基础设施中,并由该基础设施代您完成签名。

后端签名

当服务器需要签名时——支付手续费、发送程序交易或管理资金库——应使用专用的密钥管理后端,而非原始 keypair。Solana 基金会维护着 Keychain,这是一个统一签名库(支持 Rust 和 TypeScript),通过单一 SolanaSigner 接口支持上表中的所有后端:Memory、HashiCorp Vault、AWS KMS、GCP KMS、Fireblocks、Privy、Turnkey、CDP、Crossmint、Dfns、Para、Openfort 和 Utila。

由于该接口在所有后端中保持一致,您可以在本地使用内存密钥进行开发,并通过配置切换到生产后端,无需重写应用代码。Keychain 与 @solana/kit 及 Rust SDK 兼容。

完整的生产环境检查清单——包括密钥管理、RPC 安全性和监控——请参阅 生产就绪。

Is this page helpful?

Table of Contents

Edit Page
©️ 2026 Solana 基金会版权所有