Solana Keychain cung cấp giao diện thống nhất để ký các giao dịch Solana trên nhiều backend quản lý khóa. Sử dụng nó để tích hợp khả năng ký cấp doanh nghiệp vào các dịch vụ backend của bạn.
Tại sao nên dùng Keychain?
- Giao diện Duy nhất: Một
SolanaSignertrait hoạt động trên tất cả các backend - Thay đổi Backend: Chuyển đổi nhà cung cấp quản lý khóa mà không cần viết lại code
- Trừu tượng Không chi phí: Feature flags chỉ bao gồm những gì bạn cần
Kiến trúc
- Ngôn ngữ: Rust + TypeScript
- Trait: Giao diện
SolanaSignerthống nhất - Backend: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para
- Tương thích: Tương thích với
@solana/kitvà@solana/signers(TypeScript) | Tương thích vớisolana-sdkvàsolana-sdk-v3(Rust)
Các Backend được hỗ trợ
| Backend | Trường hợp sử dụng | Rust | TypeScript |
|---|---|---|---|
| Memory | Phát triển, kiểm thử | ✓ | ✓ |
| HashiCorp Vault | HSM tự triển khai | ✓ | ✓ |
| AWS KMS | Cloud-native (AWS) | ✓ | ✓ |
| GCP KMS | Cloud-native (GCP) | ✓ | ✓ |
| Privy | Ví nhúng | ✓ | ✓ |
| Turnkey | Phi tập trung | ✓ | ✓ |
| Fireblocks | MPC thể chế | ✓ | ✓ |
| CDP | Coinbase Developer Platform | ✓ | ✓ |
| Crossmint | Ví quản lý Crossmint | ✓ | ✓ |
| Dfns | Hạ tầng ví Dfns | ✓ | ✓ |
| Openfort | Ví nhúng Openfort | ✓ | ✓ |
| Para | Ví MPC Para | ✓ | ✓ |
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 package 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 -
@solana/keychainpackages - npm Package - npm package
Tài Nguyên Khác
- Thêm Custom Signers - Tích hợp backend mới
- GitHub Releases - Lịch sử phát hành
Nguồn
Được xây dựng và duy trì bởi Solana Foundation.
Được cấp phép theo MIT. Xem LICENSE để biết chi tiết.
Is this page helpful?