Solana Keychain biedt een uniforme interface voor het ondertekenen van Solana-transacties via meerdere sleutelbeheer-backends. Ontwikkel lokaal met een in-memory sleutel en schakel vervolgens over naar enterprise sleutelbeheer, cloud-HSM's of beheerde wallet- services in productie — zonder uw ondertekeningscode te herschrijven.
Waarom Keychain?
- Enkele interface: Één
SolanaSignertrait werkt voor alle backends - Backends wisselen: Wijzig sleutelbeheer-providers via configuratie, niet via code
- Abstractie zonder overhead: Feature flags bevatten alleen wat u nodig heeft
- Gecontroleerd: Beveiligingsaudit uitgevoerd door Accretion
Architectuur
- Talen: Rust + TypeScript, met volledige pariteit
- Trait: Uniforme
SolanaSignerinterface - Backends: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para, Utila
- Compatibiliteit:
@solana/kiten@solana/signerscompatibel (TypeScript) |solana-sdkensolana-sdk-v3compatibel (Rust)
Ondersteunde backends
Backends omvatten lokale ontwikkeling, zelf-gehoste en cloud-sleuteloplossingen, en beheerde of MPC-walletservices. Bekijk Een backend kiezen om bewaarmodellen te vergelijken en de juiste keuze te maken.
| Backend | Gebruiksgeval | Rust | TypeScript |
|---|---|---|---|
| Memory | Ontwikkeling, testen | ✓ | ✓ |
| HashiCorp Vault | Zelf-gehoste sleuteloplossing | ✓ | ✓ |
| AWS KMS | Cloud-native (AWS) | ✓ | ✓ |
| GCP KMS | Cloud-native (GCP) | ✓ | ✓ |
| Privy | Embedded wallets | ✓ | ✓ |
| Turnkey | Niet-custodiaal sleutelbeheer | ✓ | ✓ |
| Fireblocks | Institutionele bewaring | ✓ | ✓ |
| CDP | Coinbase Developer Platform | ✓ | ✓ |
| Crossmint | Crossmint beheerde wallets | ✓ | ✓ |
| Dfns | Dfns wallet-infrastructuur | ✓ | ✓ |
| Openfort | Openfort backend wallets | ✓ | ✓ |
| Para | Para MPC-wallets | ✓ | ✓ |
| Utila | Utila MPC-bewaring | ✓ | ✓ |
Snel aan de slag
Rust
Installeer de Rust crate:
cargo add solana-keychain
Basisgebruik:
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-handleiding - Volledige installatie en backendconfiguratie
- Crates.io - Rust crate
TypeScript
Installeer het TypeScript-pakket:
pnpm add @solana/keychain
Basisgebruik:
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-handleiding -
@solana/keychainpakketten - npm-pakket - npm-pakket
Volgende stappen
Rust-handleiding
Installeer de crate en configureer elke backend.
TypeScript-handleiding
Installeer de pakketten en configureer elke backend.
Een backend kiezen
Vergelijk custody-modellen en kies de juiste signing-backend.
Best practices voor productie
Beheer signing veilig: hot/cold-scheiding, rotatie en monitoring.
Aangepaste ondertekenaars toevoegen
Integreer een nieuw sleutelbeheer-backend.
Bron
Gebouwd en onderhouden door de Solana Foundation. Gelicentieerd onder MIT.
Is this page helpful?