Een transactie wordt alleen uitgevoerd als deze een geldige
handtekening bevat van elke
vereiste ondertekenaar. Tijdens lokale ontwikkeling houd je die sleutel doorgaans bij als een
Keypair en onderteken je rechtstreeks. In
productie is de belangrijke vraag anders: waar bevindt de privésleutel
zich, en wie is gemachtigd om er een handtekening mee te autoriseren?
Sluit nooit privésleutels in aan de clientzijde, bundel ze niet in een frontend, en bewaar ze niet in versiebeheer. Iedereen die een sleutel verkrijgt, krijgt volledige controle over de fondsen van dat account.
Ondertekeningsbenaderingen
| Benadering | Waar de sleutel zich bevindt | Wie ondertekent | Geschikt voor |
|---|---|---|---|
| Lokaal keypair | Een bestand of omgevingsvariabele op de machine | Jouw code, rechtstreeks | Lokale ontwikkeling, tests, CI |
| Browserwallet | De wallet van de eindgebruiker (bijv. Phantom, Solflare) | De eindgebruiker, per transactie | Frontend-dApps waarbij gebruikers hun eigen transacties ondertekenen |
| Cloud KMS / HSM | Een op hardware gebaseerde sleuteldienst (AWS KMS, GCP KMS, Vault) | Jouw backend vraagt een handtekening op bij de dienst | Backendservices, treasurybeheer, gereguleerde omgevingen |
| Beheerde / MPC-wallets | Verdeeld of in bewaring bij de infrastructuur van een provider | De provider ondertekent mee conform jouw beleid | Embedded wallets, goedkeuringsworkflows, institutionele bewaring |
Het lokale keypair is de enige benadering waarbij onbewerkt sleutelmateriaal in jouw applicatie terechtkomt. Elke productiebenadering bewaart de sleutel in toegewijde infrastructuur en vraagt die infrastructuur namens jou te ondertekenen.
Backend-ondertekening
Wanneer een server moet ondertekenen (bijvoorbeeld om fees te betalen, programmatransacties te verzenden of
een treasury te beheren), gebruik dan een speciale key-managementbackend in plaats van een onbewerkte
keypair. De Solana Foundation onderhoudt Keychain, een
geünificeerde signing-bibliotheek (Rust, TypeScript, Python en Go) die één
SolanaSigner-interface beschikbaar stelt voor elke backend in de bovenstaande tabel: Memory,
HashiCorp Vault, AWS KMS, GCP KMS, Fireblocks, Privy, Turnkey, CDP, Crossmint,
Dfns, Para, Openfort, Utila en Fordefi.
Omdat de interface door alle backends wordt gedeeld, kun je lokaal ontwikkelen met een
in-memory key en via configuratie overstappen op een productiebackend, zonder
de applicatiecode te hoeven herschrijven (backends die voor jou broadcasten, zoals Crossmint,
worden in plaats daarvan aangeroepen via een sign-and-send-pad). Keychain is compatibel met
@solana/kit, de
Rust SDK, solders (Python) en solana-go v2
(Go).
Keychain
Geünificeerde ondertekening voor lokale sleutels, KMS, HSM en beheerde walletbackends.
Een backend kiezen
Vergelijk bewaarmodellen en kies de juiste ondertekeningsbackend voor jouw app.
Voor de volledige productiechecklist — sleutelbeheer, RPC-beveiliging en monitoring — zie Productiegereedheid.
Is this page helpful?