Solana Keychain tarjoaa yhtenäisen rajapinnan Solana-transaktioiden allekirjoittamiseen useiden avaintenhallinnan taustajärjestelmien välillä. Kehitä paikallisesti muistissa olevalla avaimella, vaihda sitten tuotannossa yritystason avaintenhallintaan, pilvi-HSM:iin tai hallinnoituihin lompakkopalveluihin — ilman allekirjoituskoodin uudelleenkirjoittamista.
Miksi Keychain?
- Yhtenäinen rajapinta: Yksi
SolanaSigner-trait toimii kaikkien taustajärjestelmien kanssa - Vaihda taustajärjestelmää: Muuta avaintenhallinnan tarjoajaa konfiguraation kautta, ei koodin
- Nollakustanteinen abstrahointi: Ominaisuusliput sisältävät vain tarvitsemasi
- Auditoitu: Tietoturvatarkastettu Accretion-toimesta
Arkkitehtuuri
- Kielet: Rust + TypeScript, täydellä pariteettilla
- Trait: Yhtenäinen
SolanaSigner-rajapinta - Taustajärjestelmät: Memory, Vault, AWS KMS, GCP KMS, Privy, Turnkey, Fireblocks, CDP, Crossmint, Dfns, Openfort, Para, Utila
- Yhteensopivuus:
@solana/kitja@solana/signersyhteensopiva (TypeScript) |solana-sdkjasolana-sdk-v3yhteensopiva (Rust)
Tuetut järjestelmät
Taustajärjestelmät kattavat paikallisen kehityksen, itse isännöidyn ja pilvipalvelupohjaisen avaintenhallinnan sekä hallinnoidut tai MPC-lompakkopalvelut. Katso Taustajärjestelmän valinta vertaillaksesi säilytysratkaisuja ja valitaksesi oikean vaihtoehdon.
| Taustajärjestelmä | Käyttötapaus | Rust | TypeScript |
|---|---|---|---|
| Memory | Kehitys, testaus | ✓ | ✓ |
| HashiCorp Vault | Itse isännöity avaintenhallinta | ✓ | ✓ |
| AWS KMS | Pilvinatiivi (AWS) | ✓ | ✓ |
| GCP KMS | Pilvinatiivi (GCP) | ✓ | ✓ |
| Privy | Upotetut lompakot | ✓ | ✓ |
| Turnkey | Ei-säilytetty avaintenhallinta | ✓ | ✓ |
| Fireblocks | Institutionaalinen säilytys | ✓ | ✓ |
| CDP | Coinbase Developer Platform | ✓ | ✓ |
| Crossmint | Crossmint-hallinnoidut lompakot | ✓ | ✓ |
| Dfns | Dfns-lompakkoinfrastruktuuri | ✓ | ✓ |
| Openfort | Openfort-taustajärjestelmälompakot | ✓ | ✓ |
| Para | Para MPC -lompakot | ✓ | ✓ |
| Utila | Utila MPC -säilytys | ✓ | ✓ |
Pikaopas
Rust
Asenna Rust-paketti:
cargo add solana-keychain
Peruskäyttö:
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
Asenna TypeScript-paketti:
pnpm add @solana/keychain
Peruskäyttö:
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-opas -
@solana/keychainpaketit - npm-paketti - npm-paketti
Seuraavat vaiheet
Rust-opas
Asenna paketti ja konfiguroi jokainen taustapalvelu.
TypeScript-opas
Asenna paketit ja konfiguroi jokainen taustapalvelu.
Taustapalvelun valinta
Vertaile säilytysratkaisuja ja valitse sopiva allekirjoitustaustapalvelu.
Tuotannon parhaat käytännöt
Hallitse allekirjoittaminen turvallisesti: kuuma/kylmä-erottelu, avainten kierrätys ja seuranta.
Mukautettujen allekirjoittajien lisääminen
Integroi uusi avaintenhallinnan taustapalvelu.
Lähde
Rakennettu ja ylläpidetty Solana Foundationin toimesta. Lisensoitu MIT-lisenssillä.
Is this page helpful?