Solana Keychain fornisce un'interfaccia unificata per la firma delle transazioni Solana attraverso diversi backend di gestione delle chiavi. Utilizzalo per integrare la firma di livello enterprise nei tuoi servizi backend.
Perché Keychain?
- Interfaccia Singola: Un unico trait
SolanaSignerfunziona con tutti i backend - Scambio Backend: Cambia fornitore di gestione delle chiavi senza riscrivere il codice
- Astrazione a Costo Zero: I flag delle funzionalità includono solo ciò di cui hai bisogno
Architettura
- Linguaggi: Rust + TypeScript
- Trait: Interfaccia
SolanaSignerunificata - Backend: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para
- Compatibilità: Compatibile con
@solana/kite@solana/signers(TypeScript) | Compatibile consolana-sdkesolana-sdk-v3(Rust)
Backend Supportati
| Backend | Caso d'Uso | Rust | TypeScript |
|---|---|---|---|
| Memory | Sviluppo, testing | ✓ | ✓ |
| HashiCorp Vault | HSM self-hosted | ✓ | ✓ |
| AWS KMS | Cloud-native (AWS) | ✓ | ✓ |
| GCP KMS | Cloud-native (GCP) | ✓ | ✓ |
| Privy | Wallet integrati | ✓ | ✓ |
| Turnkey | Non-custodial | ✓ | ✓ |
| Fireblocks | MPC istituzionale | ✓ | ✓ |
| CDP | Coinbase Developer Platform | ✓ | ✓ |
| Crossmint | Wallet gestiti da Crossmint | ✓ | ✓ |
| Dfns | Infrastruttura wallet Dfns | ✓ | ✓ |
| Openfort | Wallet integrati Openfort | ✓ | ✓ |
| Para | Wallet MPC Para | ✓ | ✓ |
Avvio Rapido
Rust
Installa il crate Rust:
cargo add solana-keychain
Utilizzo base:
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?;
- Guida Rust - Installazione completa e configurazione del backend
- Crates.io - Crate Rust
TypeScript
Installa il pacchetto TypeScript:
pnpm add @solana/keychain
Utilizzo base:
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);
- Guida TypeScript -
Pacchetti
@solana/keychain - Pacchetto npm - Pacchetto npm
Altre Risorse
- Aggiungere Firmatari Personalizzati - Integra nuovi backend
- Release su GitHub - Cronologia delle release
Sorgente
Sviluppato e mantenuto dalla Solana Foundation.
Rilasciato sotto licenza MIT. Consulta il LICENSE per i dettagli.
Is this page helpful?