Một giao dịch chỉ được thực thi nếu nó mang
chữ ký hợp lệ từ mọi
người ký bắt buộc. Trong quá trình phát triển cục bộ, bạn thường lưu giữ khóa đó
dưới dạng Keypair và ký trực
tiếp. Trong môi trường production, câu hỏi quan trọng lại khác: khóa riêng tư
tồn tại ở đâu, và ai được phép ủy quyền chữ ký bằng khóa đó?
Không bao giờ nhúng khóa riêng tư vào mã phía client, đóng gói chúng vào frontend, hoặc commit chúng vào source control. Bất kỳ ai có được khóa đều có toàn quyền kiểm soát tài sản của tài khoản đó.
Các phương pháp ký
| Phương pháp | Nơi lưu trữ khóa | Ai ký | Phù hợp nhất cho |
|---|---|---|---|
| Local keypair | Một tệp hoặc biến môi trường trên máy | Mã của bạn, trực tiếp | Phát triển cục bộ, kiểm thử, CI |
| Ví trình duyệt | Ví của người dùng cuối (ví dụ: Phantom, Solflare) | Người dùng cuối, theo từng giao dịch | Frontend dApp nơi người dùng ký giao dịch của chính họ |
| Cloud KMS / HSM | Dịch vụ khóa được hỗ trợ bởi phần cứng (AWS KMS, GCP KMS, Vault) | Backend của bạn yêu cầu chữ ký từ dịch vụ | Dịch vụ backend, vận hành ngân quỹ, môi trường được quản lý theo quy định |
| Ví được quản lý / MPC | Được phân tách hoặc lưu ký qua cơ sở hạ tầng của nhà cung cấp | Nhà cung cấp đồng ký theo chính sách của bạn | Ví nhúng, quy trình phê duyệt, lưu ký tổ chức |
keypair cục bộ là cách tiếp cận duy nhất đưa dữ liệu khóa thô vào bên trong ứng dụng của bạn. Mọi cách tiếp cận sản xuất đều giữ khóa trong cơ sở hạ tầng chuyên dụng và yêu cầu cơ sở hạ tầng đó ký thay mặt bạn.
Ký phía backend
Khi một máy chủ cần ký — thanh toán phí, gửi giao dịch chương trình, hoặc vận
hành kho quỹ — hãy sử dụng backend quản lý khóa chuyên dụng thay vì keypair thô.
Solana Foundation duy trì Keychain, một thư viện ký
thống nhất (Rust và TypeScript) cung cấp một giao diện SolanaSigner duy nhất
trên mọi backend trong bảng trên: Memory, HashiCorp Vault, AWS KMS, GCP KMS,
Fireblocks, Privy, Turnkey, CDP, Crossmint, Dfns, Para, Openfort và Utila.
Vì giao diện giống hệt nhau trên tất cả các backend, bạn có thể phát triển cục
bộ với khóa trong bộ nhớ và chuyển sang backend sản xuất thông qua cấu hình, mà
không cần viết lại mã ứng dụng. Keychain tương thích với
@solana/kit và
Rust SDK.
Keychain
Ký thống nhất trên các khóa cục bộ, KMS, HSM và backend ví được quản lý.
Chọn backend
So sánh các mô hình lưu ký và chọn backend ký phù hợp cho ứng dụng của bạn.
Để xem danh sách kiểm tra sản xuất đầy đủ — quản lý khóa, bảo mật RPC và giám sát — hãy xem Sẵn sàng cho Sản xuất.
Is this page helpful?