Firma in Produzione

Una transazione viene eseguita solo se contiene una firma valida da parte di ogni firmatario richiesto. Durante lo sviluppo locale di solito si gestisce la chiave come Keypair e si firma direttamente. In produzione la domanda importante è diversa: dove risiede la chiave privata e chi è autorizzato a firmare con essa?

Non incorporare mai chiavi private nel codice lato client, non includerle in un frontend né eseguirne il commit nel controllo del codice sorgente. Chiunque ottenga una chiave acquisisce il pieno controllo dei fondi di quell'account.

Approcci alla firma

ApproccioDove risiede la chiaveChi firmaIdeale per
keypair localeUn file o una variabile d'ambiente sulla macchinaIl tuo codice, direttamenteSviluppo locale, test, CI
Wallet browserIl wallet dell'utente finale (es. Phantom, Solflare)L'utente finale, per ogni transazionedApp frontend in cui gli utenti firmano le proprie transazioni
Cloud KMS / HSMUn servizio di chiavi con supporto hardware (AWS KMS, GCP KMS, Vault)Il tuo backend richiede una firma al servizioServizi backend, operazioni di tesoreria, ambienti regolamentati
Wallet gestiti / MPCSuddivisa o in custodia nell'infrastruttura di un providerIl provider co-firma in base alla tua policyWallet integrati, flussi di approvazione, custodia istituzionale

Il keypair locale è l'unico approccio che inserisce il materiale grezzo della chiave all'interno dell'applicazione. Ogni approccio in produzione mantiene la chiave in un'infrastruttura dedicata e affida a quest'ultima la firma per conto dell'applicazione.

Firma lato backend

Quando un server deve firmare (pagando le commissioni, inviando transazioni di programma oppure gestendo una tesoreria), utilizza un backend dedicato di gestione delle chiavi anziché un keypair non protetto. La Solana Foundation mantiene Keychain, una libreria di firma unificata (Rust, TypeScript, Python e Go) che espone un'unica interfaccia SolanaSigner per tutti i backend della tabella qui sopra: Memory, HashiCorp Vault, AWS KMS, GCP KMS, Fireblocks, Privy, Turnkey, CDP, Crossmint, Dfns, Para, Openfort, Utila e Fordefi.

Poiché l'interfaccia è condivisa tra i backend, puoi sviluppare in locale con una chiave in memoria e passare a un backend di produzione tramite configurazione, senza riscrivere il codice dell'applicazione (i backend che eseguono il broadcast per te, come Crossmint, vengono invece chiamati tramite un percorso di firma e invio). Keychain è compatibile con @solana/kit, con l'SDK Rust, con solders (Python) e con solana-go v2 (Go).

Per la checklist completa della produzione — gestione delle chiavi, sicurezza RPC e monitoraggio — consulta Production Readiness.

Is this page helpful?

Indice dei contenuti

Modifica pagina
© 2026 Solana Foundation. Tutti i diritti riservati.