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 detiene quella chiave come Keypair e si firma direttamente. In produzione la domanda importante è diversa: dove risiede la chiave privata e chi è autorizzato a utilizzarla per firmare?

Non incorporare mai chiavi private nel codice lato client, non includerle in un frontend né salvarle 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 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 / MPCSuddivisi 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 della tua applicazione. Ogni approccio di produzione mantiene la chiave in un'infrastruttura dedicata e delega a tale infrastruttura la firma per tuo conto.

Firma lato backend

Quando un server deve firmare — pagare commissioni, inviare transazioni di programma o gestire un treasury — utilizza un backend dedicato alla gestione delle chiavi anziché un keypair grezzo. La Solana Foundation mantiene Keychain, una libreria di firma unificata (Rust e TypeScript) che espone un'unica interfaccia SolanaSigner su tutti i backend nella tabella sopra: Memory, HashiCorp Vault, AWS KMS, GCP KMS, Fireblocks, Privy, Turnkey, CDP, Crossmint, Dfns, Para, Openfort e Utila.

Poiché l'interfaccia è identica su tutti 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. Keychain è compatibile con @solana/kit e con l'SDK Rust.

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

Is this page helpful?

Indice dei contenuti

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