Solana Keychain cung cấp một giao diện thống nhất để ký các giao dịch Solana trên nhiều backend quản lý khóa khác nhau. Phát triển cục bộ với khóa trong bộ nhớ, sau đó chuyển sang quản lý khóa doanh nghiệp, HSM đám mây hoặc dịch vụ ví được quản lý trong môi trường sản xuất — mà không cần viết lại mã ký của bạn.
Tại sao nên dùng Keychain?
- Giao diện duy nhất: Một trait
SolanaSignerhoạt động trên tất cả các backend - Hoán đổi backend: Thay đổi nhà cung cấp quản lý khóa thông qua cấu hình, không phải mã nguồn
- Trừu tượng hóa không tốn chi phí: Feature flag chỉ bao gồm những gì bạn cần
- Đã kiểm toán: Được xem xét bảo mật bởi Accretion
Kiến trúc
- Ngôn ngữ: Rust + TypeScript, hoàn toàn tương đương
- Trait: Giao diện
SolanaSignerthống nhất - Backend: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para, Utila
- Tương thích:
@solana/kitvà@solana/signerstương thích (TypeScript) |solana-sdkvàsolana-sdk-v3tương thích (Rust)
Các Backend được hỗ trợ
Các backend bao gồm môi trường phát triển cục bộ, quản lý khóa tự lưu trữ và trên đám mây, cũng như các dịch vụ ví được quản lý hoặc MPC. Xem Chọn backend để so sánh các mô hình lưu ký và chọn mô hình phù hợp.
| Backend | Trường hợp sử dụng | Rust | TypeScript |
|---|---|---|---|
| Memory | Phát triển, kiểm thử | ✓ | ✓ |
| HashiCorp Vault | Quản lý khóa tự lưu trữ | ✓ | ✓ |
| AWS KMS | Cloud-native (AWS) | ✓ | ✓ |
| GCP KMS | Cloud-native (GCP) | ✓ | ✓ |
| Privy | Ví nhúng | ✓ | ✓ |
| Turnkey | Quản lý khóa không lưu ký | ✓ | ✓ |
| Fireblocks | Lưu ký tổ chức | ✓ | ✓ |
| CDP | Coinbase Developer Platform | ✓ | ✓ |
| Crossmint | Ví được quản lý bởi Crossmint | ✓ | ✓ |
| Dfns | Hạ tầng ví Dfns | ✓ | ✓ |
| Openfort | Ví backend Openfort | ✓ | ✓ |
| Para | Ví MPC Para | ✓ | ✓ |
| Utila | Lưu ký MPC Utila | ✓ | ✓ |
Bắt Đầu Nhanh
Rust
Cài đặt Rust crate:
cargo add solana-keychain
Cách sử dụng cơ bản:
use solana_keychain::{Signer, SolanaSigner};// Create a signer from any backendlet signer = Signer::from_memory("base58_private_key")?;// All signers share the same interfacelet pubkey = signer.pubkey();let signature = signer.sign_transaction(&mut tx).await?;
- Hướng Dẫn Rust - Cài đặt đầy đủ và cấu hình backend
- Crates.io - Rust crate
TypeScript
Cài đặt gói TypeScript:
pnpm add @solana/keychain
Cách sử dụng cơ bản:
import { createKeychainSigner } from "@solana/keychain";import { signTransactionWithSigners } from "@solana/signers";// Create any signer via the unified factoryconst signer = await createKeychainSigner({backend: "vault",vaultAddr: "https://vault.example.com:8200",vaultToken: "hvs.xxxxx",keyName: "my-solana-key",publicKey: "base58_public_key"});// Sign an already-compiled transactionconst signedTx = await signTransactionWithSigners([signer],compiledTransaction);
- Hướng Dẫn TypeScript - Các
gói
@solana/keychain - Gói npm - gói npm
Các Bước Tiếp Theo
Hướng dẫn Rust
Cài đặt crate và cấu hình từng backend.
Hướng dẫn TypeScript
Cài đặt các gói và cấu hình từng backend.
Chọn backend
So sánh các mô hình lưu ký và chọn backend ký phù hợp.
Các phương pháp hay nhất cho môi trường production
Vận hành ký an toàn: phân tách hot/cold, xoay vòng khóa, giám sát.
Thêm các signer tùy chỉnh
Tích hợp backend quản lý khóa mới.
Nguồn
Được xây dựng và duy trì bởi Solana Foundation. Được cấp phép theo MIT.
Is this page helpful?