Solana Keychain zapewnia ujednolicony interfejs do podpisywania transakcji Solana na wielu backendach zarządzania kluczami. Twórz lokalnie z kluczem w pamięci, a następnie przełącz się na enterprise zarządzanie kluczami, chmurowe HSM lub zarządzane usługi portfeli w środowisku produkcyjnym — bez przepisywania kodu podpisywania.
Dlaczego Keychain?
- Jeden interfejs: Jeden trait
SolanaSignerdziała na wszystkich backendach - Wymiana backendów: Zmieniaj dostawców zarządzania kluczami przez konfigurację, nie kod
- Abstrakcja bez kosztów: Flagi funkcji dołączają tylko to, czego potrzebujesz
- Audytowany: Przegląd bezpieczeństwa przeprowadzony przez Accretion
Architektura
- Języki: Rust + TypeScript, z pełną parytetnością
- Trait: Ujednolicony interfejs
SolanaSigner - Backendy: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para, Utila
- Kompatybilność:
@solana/kiti@solana/signerskompatybilne (TypeScript) |solana-sdkisolana-sdk-v3kompatybilne (Rust)
Obsługiwane backendy
Backendy obejmują lokalny rozwój, samodzielnie hostowane i chmurowe zarządzanie kluczami oraz zarządzane usługi portfeli MPC. Zobacz Wybór backendu, aby porównać modele powiernicze i wybrać odpowiedni.
| Backend | Przypadek użycia | Rust | TypeScript |
|---|---|---|---|
| Memory | Rozwój, testowanie | ✓ | ✓ |
| HashiCorp Vault | Samodzielne zarządzanie kluczami | ✓ | ✓ |
| AWS KMS | Natywna chmura (AWS) | ✓ | ✓ |
| GCP KMS | Natywna chmura (GCP) | ✓ | ✓ |
| Privy | Wbudowane portfele | ✓ | ✓ |
| Turnkey | Niepoiernicze zarządzanie kluczami | ✓ | ✓ |
| Fireblocks | Instytucjonalna opieka | ✓ | ✓ |
| CDP | Coinbase Developer Platform | ✓ | ✓ |
| Crossmint | Zarządzane portfele Crossmint | ✓ | ✓ |
| Dfns | Infrastruktura portfeli Dfns | ✓ | ✓ |
| Openfort | Portfele backendowe Openfort | ✓ | ✓ |
| Para | Portfele MPC Para | ✓ | ✓ |
| Utila | Opieka MPC Utila | ✓ | ✓ |
Szybki start
Rust
Zainstaluj crate Rust:
cargo add solana-keychain
Podstawowe użycie:
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?;
- Przewodnik po Rust - Pełna instalacja i konfiguracja backendu
- Crates.io - Crate Rust
TypeScript
Zainstaluj pakiet TypeScript:
pnpm add @solana/keychain
Podstawowe użycie:
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);
- Przewodnik po TypeScript -
@solana/keychainpakiety - Pakiet npm - Pakiet npm
Następne kroki
Przewodnik po Rust
Zainstaluj crate i skonfiguruj każdy backend.
Przewodnik po TypeScript
Zainstaluj pakiety i skonfiguruj każdy backend.
Wybór backendu
Porównaj modele przechowywania kluczy i wybierz odpowiedni backend podpisywania.
Najlepsze praktyki produkcyjne
Bezpieczne podpisywanie: separacja hot/cold, rotacja, monitorowanie.
Dodawanie niestandardowych sygnatariuszy
Zintegruj nowy backend zarządzania kluczami.
Źródło
Zbudowane i utrzymywane przez Solana Foundation. Licencjonowane na warunkach MIT.
Is this page helpful?