Keychain

O Solana Keychain fornece uma interface unificada para assinar transações Solana em múltiplos backends de gerenciamento de chaves. Desenvolva localmente com uma chave em memória, depois mude para gerenciamento de chaves empresarial, HSMs em nuvem ou serviços de carteira gerenciada em produção — sem reescrever seu código de assinatura.

Por que Keychain?

  • Interface Única: Um trait SolanaSigner funciona em todos os backends
  • Troque de Backend: Mude os provedores de gerenciamento de chaves por configuração, não por código
  • Abstração de Custo Zero: Flags de recursos incluem apenas o que você precisa
  • Auditado: Revisado em segurança pela Accretion

Arquitetura

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

Backends Suportados

Os backends abrangem desenvolvimento local, gerenciamento de chaves auto-hospedado e em nuvem, e serviços de carteira gerenciada ou MPC. Consulte Como escolher um backend para comparar os modelos de custódia e escolher o mais adequado.

BackendCaso de UsoRustTypeScript
MemoryDesenvolvimento, testes
HashiCorp VaultGerenciamento de chaves próprio
AWS KMSNativo em nuvem (AWS)
GCP KMSNativo em nuvem (GCP)
PrivyCarteiras integradas
TurnkeyGerenciamento de chaves sem custódia
FireblocksCustódia institucional
CDPCoinbase Developer Platform
CrossmintCarteiras gerenciadas Crossmint
DfnsInfraestrutura de carteiras Dfns
OpenfortCarteiras backend Openfort
ParaCarteiras MPC Para
UtilaCustódia MPC Utila

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
);

Próximos passos

Fonte

Desenvolvido e mantido pela Solana Foundation. Licenciado sob MIT.

Is this page helpful?

Índice

Editar Página
© 2026 Fundação Solana. Todos os direitos reservados.