Keychain

Solana Keychain은 여러 키 관리 백엔드에서 Solana 트랜잭션에 서명하기 위한 통합 인터페이스를 제공합니다. 백엔드 서비스에 엔터프라이즈급 서명을 통합하는 데 사용하세요.

Keychain을 사용해야 하는 이유는?

  • 단일 인터페이스: 모든 백엔드에서 작동하는 하나의 SolanaSigner 트레이트
  • 백엔드 교체: 코드를 다시 작성하지 않고도 키 관리 제공업체 변경 가능
  • 제로 비용 추상화: 기능 플래그로 필요한 것만 포함

아키텍처

  • 언어: Rust + TypeScript
  • 트레이트: 통합 SolanaSigner 인터페이스
  • 백엔드: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para
  • 호환성: @solana/kit@solana/signers 호환 (TypeScript) | solana-sdksolana-sdk-v3 호환 (Rust)

지원되는 백엔드

백엔드사용 사례RustTypeScript
Memory개발, 테스트
HashiCorp Vault자체 호스팅 HSM
AWS KMS클라우드 네이티브 (AWS)
GCP KMS클라우드 네이티브 (GCP)
Privy임베디드 지갑
Turnkey비수탁형
Fireblocks기관 투자용 MPC
CDPCoinbase Developer Platform
CrossmintCrossmint 관리형 지갑
DfnsDfns 지갑 인프라
OpenfortOpenfort 임베디드 지갑
ParaPara MPC 지갑

빠른 시작

Rust

Rust 크레이트를 설치하세요:

cargo add solana-keychain

기본 사용법:

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

TypeScript 패키지를 설치하세요:

pnpm add @solana/keychain

기본 사용법:

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

기타 리소스

소스

GitHub 리포지토리

Solana Foundation에서 구축 및 유지 관리합니다.

MIT 라이선스에 따라 배포됩니다. 자세한 내용은 LICENSE를 참조하세요.

Is this page helpful?

목차

페이지 편집

관리자

© 2026 솔라나 재단.
모든 권리 보유.
연결하기