Solana Keychain proporciona una interfaz unificada para firmar transacciones de Solana a través de múltiples backends de gestión de claves. Úsalo para integrar firma de nivel empresarial en tus servicios backend.
¿Por qué Keychain?
- Interfaz Única: Un trait
SolanaSignerque funciona en todos los backends - Intercambio de Backends: Cambia de proveedor de gestión de claves sin reescribir código
- Abstracción de Costo Cero: Los feature flags incluyen solo lo que necesitas
Arquitectura
- Lenguajes: Rust + TypeScript
- Trait: Interfaz
SolanaSignerunificada - Backends: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para
- Compatibilidad: Compatible con
@solana/kite@solana/signers(TypeScript) | Compatible consolana-sdkesolana-sdk-v3(Rust)
Backends Soportados
| Backend | Caso de Uso | Rust | TypeScript |
|---|---|---|---|
| Memory | Desarrollo, pruebas | ✓ | ✓ |
| HashiCorp Vault | HSM auto-alojado | ✓ | ✓ |
| AWS KMS | Nativo en la nube (AWS) | ✓ | ✓ |
| GCP KMS | Nativo en la nube (GCP) | ✓ | ✓ |
| Privy | Billeteras embebidas | ✓ | ✓ |
| Turnkey | No custodial | ✓ | ✓ |
| Fireblocks | MPC institucional | ✓ | ✓ |
| CDP | Coinbase Developer Platform | ✓ | ✓ |
| Crossmint | Billeteras gestionadas por Crossmint | ✓ | ✓ |
| Dfns | Infraestructura de billeteras Dfns | ✓ | ✓ |
| Openfort | Billeteras embebidas de Openfort | ✓ | ✓ |
| Para | Billeteras MPC de Para | ✓ | ✓ |
Inicio Rápido
Rust
Instala el crate de Rust:
cargo add solana-keychain
Uso básico:
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?;
- Guía de Rust - Instalación completa y configuración del backend
- Crates.io - Crate de Rust
TypeScript
Instala el paquete de TypeScript:
pnpm add @solana/keychain
Uso básico:
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);
- Guía de TypeScript -
Paquetes
@solana/keychain - Paquete npm - Paquete npm
Otros Recursos
- Añadir Firmantes Personalizados - Integra nuevos backends
- Versiones de GitHub - Historial de versiones
Código Fuente
Desarrollado y mantenido por la Solana Foundation.
Licenciado bajo MIT. Consulta LICENSE para más detalles.
Is this page helpful?