Keychain

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 SolanaSigner que 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 SolanaSigner unificada
  • Backends: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para
  • Compatibilidad: Compatible con @solana/kit e @solana/signers (TypeScript) | Compatible con solana-sdk e solana-sdk-v3 (Rust)

Backends Soportados

BackendCaso de UsoRustTypeScript
MemoryDesarrollo, pruebas
HashiCorp VaultHSM auto-alojado
AWS KMSNativo en la nube (AWS)
GCP KMSNativo en la nube (GCP)
PrivyBilleteras embebidas
TurnkeyNo custodial
FireblocksMPC institucional
CDPCoinbase Developer Platform
CrossmintBilleteras gestionadas por Crossmint
DfnsInfraestructura de billeteras Dfns
OpenfortBilleteras embebidas de Openfort
ParaBilleteras 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 backend
let signer = Signer::from_memory("base58_private_key")?;
// All signers share the same interface
let pubkey = signer.pubkey();
let signature = signer.sign_transaction(&mut tx).await?;

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 factory
const 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 transaction
const signedTx = await signTransactionWithSigners(
[signer],
compiledTransaction
);

Otros Recursos

Código Fuente

Repositorio de GitHub

Desarrollado y mantenido por la Solana Foundation.

Licenciado bajo MIT. Consulta LICENSE para más detalles.

Is this page helpful?

Tabla de Contenidos

Editar Página

Gestionado por

© 2026 Fundación Solana.
Todos los derechos reservados.
Conéctate