Keychain

O Solana Keychain fornece uma interface unificada para assinar transações Solana em múltiplos backends de gerenciamento de chaves. Use-o para integrar assinatura de nível empresarial nos seus serviços de backend.

Por que Keychain?

  • Interface Única: Um trait SolanaSigner funciona em todos os backends
  • Troque de Backends: Mude de provedores de gerenciamento de chaves sem reescrever código
  • Abstração de Custo Zero: Feature flags incluem apenas o que você precisa

Arquitetura

  • Linguagens: Rust + TypeScript
  • Trait: Interface unificada SolanaSigner
  • Backends: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para
  • Compatibilidade: Compatível com @solana/kit e @solana/signers (TypeScript) | Compatível com solana-sdk e solana-sdk-v3 (Rust)

Backends Suportados

BackendCaso de UsoRustTypeScript
MemoryDesenvolvimento, testes
HashiCorp VaultHSM auto-hospedado
AWS KMSNativo da nuvem (AWS)
GCP KMSNativo da nuvem (GCP)
PrivyCarteiras incorporadas
TurnkeyNão custodial
FireblocksMPC institucional
CDPCoinbase Developer Platform
CrossmintCarteiras gerenciadas Crossmint
DfnsInfraestrutura de carteiras Dfns
OpenfortCarteiras incorporadas Openfort
ParaCarteiras MPC Para

Início Rápido

Rust

Instale o crate 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

Instale o pacote 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
);

Outros Recursos

Código-Fonte

Repositório GitHub

Desenvolvido e mantido pela Solana Foundation.

Licenciado sob MIT. Consulte LICENSE para detalhes.

Is this page helpful?

Índice

Editar Página

Gerenciado por

© 2026 Fundação Solana.
Todos os direitos reservados.
Conecte-se
  • Blog