Solana Keychain bietet eine einheitliche Schnittstelle zur Signierung von Solana-Transaktionen über mehrere Schlüsselverwaltungs-Backends hinweg. Nutzen Sie es, um Signierung auf Unternehmensniveau in Ihre Backend-Dienste zu integrieren.
Warum Keychain?
- Einheitliche Schnittstelle: Ein
SolanaSigner-Trait funktioniert über alle Backends hinweg - Backend-Wechsel: Ändern Sie Schlüsselverwaltungsanbieter ohne Code-Umschreibung
- Null-Kosten-Abstraktion: Feature-Flags binden nur das ein, was Sie benötigen
Architektur
- Sprachen: Rust + TypeScript
- Trait: Einheitliche
SolanaSigner-Schnittstelle - Backends: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para
- Kompatibilität:
@solana/kit- und@solana/signers-kompatibel (TypeScript) |solana-sdk- undsolana-sdk-v3-kompatibel (Rust)
Unterstützte Backends
| Backend | Anwendungsfall | Rust | TypeScript |
|---|---|---|---|
| Memory | Entwicklung, Tests | ✓ | ✓ |
| HashiCorp Vault | Selbst gehostetes HSM | ✓ | ✓ |
| AWS KMS | Cloud-nativ (AWS) | ✓ | ✓ |
| GCP KMS | Cloud-nativ (GCP) | ✓ | ✓ |
| Privy | Eingebettete Wallets | ✓ | ✓ |
| Turnkey | Nicht verwahrend | ✓ | ✓ |
| Fireblocks | Institutionelles MPC | ✓ | ✓ |
| CDP | Coinbase-Entwicklerplattform | ✓ | ✓ |
| Crossmint | Crossmint-verwaltete Wallets | ✓ | ✓ |
| Dfns | Dfns-Wallet-Infrastruktur | ✓ | ✓ |
| Openfort | Openfort-eingebettete Wallets | ✓ | ✓ |
| Para | Para-MPC-Wallets | ✓ | ✓ |
Schnellstart
Rust
Installieren Sie die Rust-Crate:
cargo add solana-keychain
Grundlegende Verwendung:
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-Leitfaden - Vollständige Installation und Backend-Konfiguration
- Crates.io - Rust-Crate
TypeScript
Installieren Sie das TypeScript-Paket:
pnpm add @solana/keychain
Grundlegende Verwendung:
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-Leitfaden -
@solana/keychainPakete - npm-Paket - npm-Paket
Weitere Ressourcen
- Hinzufügen benutzerdefinierter Signer - Neue Backends integrieren
- GitHub-Releases - Release-Verlauf
Quelle
Entwickelt und gewartet von der Solana Foundation.
Lizenziert unter MIT. Siehe LICENSE für Details.
Is this page helpful?