Το Solana Keychain παρέχει ένα ενιαίο interface για την υπογραφή συναλλαγών Solana σε πολλαπλά backends διαχείρισης κλειδιών. Αναπτύξτε τοπικά με ένα κλειδί στη μνήμη, και στη συνέχεια μεταβείτε σε εταιρική διαχείριση κλειδιών, cloud HSMs ή διαχειριζόμενες υπηρεσίες πορτοφολιών στο περιβάλλον παραγωγής — χωρίς να ξαναγράψετε τον κώδικα υπογραφής σας.
Γιατί το Keychain;
- Ενιαίο Interface: Ένα trait
SolanaSignerλειτουργεί σε όλα τα backends - Εναλλαγή Backends: Αλλάξτε παρόχους διαχείρισης κλειδιών μέσω διαμόρφωσης, όχι κώδικα
- Αφαίρεση Μηδενικού Κόστους: Τα feature flags συμπεριλαμβάνουν μόνο ό,τι χρειάζεστε
- Ελεγμένο: Αξιολογήθηκε ασφαλείας από την Accretion
Αρχιτεκτονική
- Γλώσσες: Rust + TypeScript, σε πλήρη ισοτιμία
- Trait: Ενιαίο interface
SolanaSigner - Backends: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para, Utila
- Συμβατότητα:
@solana/kitκαι@solana/signersσυμβατό (TypeScript) |solana-sdkκαιsolana-sdk-v3συμβατό (Rust)
Υποστηριζόμενα Συστήματα
Τα backends καλύπτουν την τοπική ανάπτυξη, αυτο-φιλοξενούμενη και cloud διαχείριση κλειδιών, καθώς και διαχειριζόμενες ή MPC υπηρεσίες πορτοφολιών. Δείτε Επιλογή backend για σύγκριση μοντέλων φύλαξης και επιλογή του κατάλληλου.
| Backend | Περίπτωση Χρήσης | Rust | TypeScript |
|---|---|---|---|
| Memory | Ανάπτυξη, δοκιμές | ✓ | ✓ |
| HashiCorp Vault | Αυτο-φιλοξενούμενη διαχείριση κλειδιών | ✓ | ✓ |
| AWS KMS | Cloud-native (AWS) | ✓ | ✓ |
| GCP KMS | Cloud-native (GCP) | ✓ | ✓ |
| Privy | Ενσωματωμένα πορτοφόλια | ✓ | ✓ |
| Turnkey | Μη-θεματοφυλακική διαχείριση κλειδιών | ✓ | ✓ |
| Fireblocks | Θεσμική θεματοφυλακή | ✓ | ✓ |
| CDP | Coinbase Developer Platform | ✓ | ✓ |
| Crossmint | Διαχειριζόμενα πορτοφόλια Crossmint | ✓ | ✓ |
| Dfns | Υποδομή πορτοφολιών Dfns | ✓ | ✓ |
| Openfort | Backend πορτοφόλια Openfort | ✓ | ✓ |
| Para | MPC πορτοφόλια Para | ✓ | ✓ |
| Utila | MPC θεματοφυλακή Utila | ✓ | ✓ |
Γρήγορη Εκκίνηση
Rust
Εγκαταστήστε το Rust crate:
cargo add solana-keychain
Βασική χρήση:
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?;
- Οδηγός Rust - Πλήρης εγκατάσταση και διαμόρφωση backend
- Crates.io - Rust crate
TypeScript
Εγκαταστήστε το πακέτο TypeScript:
pnpm add @solana/keychain
Βασική χρήση:
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);
- Οδηγός TypeScript -
@solana/keychainπακέτα - Πακέτο npm - πακέτο npm
Επόμενα Βήματα
Οδηγός Rust
Εγκαταστήστε το crate και διαμορφώστε κάθε backend.
Οδηγός TypeScript
Εγκαταστήστε τα πακέτα και διαμορφώστε κάθε backend.
Επιλογή backend
Συγκρίνετε μοντέλα θεματοφυλακής και επιλέξτε το κατάλληλο backend υπογραφής.
Βέλτιστες πρακτικές παραγωγής
Ασφαλής λειτουργία υπογραφής: διαχωρισμός hot/cold, εναλλαγή κλειδιών, παρακολούθηση.
Προσθήκη προσαρμοσμένων signers
Ενσωματώστε ένα νέο backend διαχείρισης κλειδιών.
Πηγή
Κατασκευάστηκε και συντηρείται από το Solana Foundation. Διατίθεται υπό άδεια MIT.
Is this page helpful?