Solana Keychain은 여러 키 관리 백엔드에 걸쳐 Solana 트랜잭션에 서명하기 위한 통합 인터페이스를 제공합니다. 인메모리 키로 로컬에서 개발한 후, 서명 코드를 재작성하지 않고도 엔터프라이즈 키 관리, 클라우드 HSM, 또는 매니지드 지갑 서비스로 전환할 수 있습니다.
Keychain을 사용해야 하는 이유는?
- 단일 인터페이스:
SolanaSigner트레이트 하나로 모든 백엔드에서 동작 - 백엔드 교체: 코드가 아닌 설정을 통해 키 관리 공급자 변경 가능
- 제로 비용 추상화: 피처 플래그를 통해 필요한 것만 포함
- 감사 완료: Accretion의 보안 검토 완료
아키텍처
- 언어: Rust + TypeScript, 완전한 동등 지원
- 트레이트: 통합
SolanaSigner인터페이스 - 백엔드: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para, Utila
- 호환성:
@solana/kit및@solana/signers호환 (TypeScript) |solana-sdk및solana-sdk-v3호환 (Rust)
지원되는 백엔드
백엔드는 로컬 개발, 자체 호스팅 및 클라우드 키 관리, 매니지드 또는 MPC 지갑 서비스를 아우릅니다. 커스터디 모델을 비교하고 적합한 백엔드를 선택하려면 백엔드 선택하기를 참고하세요.
| 백엔드 | 사용 사례 | Rust | TypeScript |
|---|---|---|---|
| Memory | 개발, 테스트 | ✓ | ✓ |
| HashiCorp Vault | 자체 호스팅 키 관리 | ✓ | ✓ |
| AWS KMS | 클라우드 네이티브 (AWS) | ✓ | ✓ |
| GCP KMS | 클라우드 네이티브 (GCP) | ✓ | ✓ |
| Privy | 임베디드 지갑 | ✓ | ✓ |
| Turnkey | 비수탁형 키 관리 | ✓ | ✓ |
| Fireblocks | 기관 수탁 | ✓ | ✓ |
| CDP | Coinbase 개발자 플랫폼 | ✓ | ✓ |
| Crossmint | Crossmint 매니지드 지갑 | ✓ | ✓ |
| Dfns | Dfns 지갑 인프라 | ✓ | ✓ |
| Openfort | Openfort 백엔드 지갑 | ✓ | ✓ |
| Para | Para MPC 지갑 | ✓ | ✓ |
| Utila | Utila MPC 수탁 | ✓ | ✓ |
빠른 시작
Rust
Rust 크레이트를 설치하세요:
cargo add solana-keychain
기본 사용법:
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?;
TypeScript
TypeScript 패키지를 설치하세요:
pnpm add @solana/keychain
기본 사용법:
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);
- TypeScript 가이드 -
@solana/keychain패키지 - npm 패키지 - npm 패키지
다음 단계
Rust 가이드
크레이트를 설치하고 각 백엔드를 구성하세요.
TypeScript 가이드
패키지를 설치하고 각 백엔드를 구성하세요.
백엔드 선택
커스터디 모델을 비교하고 적합한 서명 백엔드를 선택하세요.
프로덕션 모범 사례
서명을 안전하게 운영하세요: 핫/콜드 분리, 키 교체, 모니터링.
커스텀 서명자 추가
새로운 키 관리 백엔드를 통합하세요.
소스
Solana Foundation이 구축하고 유지 관리합니다. MIT 라이선스 하에 배포됩니다.
Is this page helpful?