26 lines
1.6 KiB
Markdown
26 lines
1.6 KiB
Markdown
<!-- file: kb_wallet/README.md -->
|
|
<!-- version: 2 -->
|
|
|
|
# kb_wallet
|
|
|
|
Ce crate isole les secrets, le stockage local des keypairs et la signature. Les décodeurs, matérialisateurs, exécuteurs et interfaces utilisateur ne doivent jamais lire directement les octets privés.
|
|
|
|
## Wallet temporaire persistant
|
|
|
|
`TemporaryWalletStore` fournit une première implémentation destinée aux tests d'intégration, aux exécutables de développement et aux campagnes devnet :
|
|
|
|
- alias validé et transformé en chemin déterministe `<wallet_dir>/<alias>.json` ;
|
|
- création sans écrasement d'un fichier existant ;
|
|
- chargement et validation stricte des 64 octets du keypair Solana ;
|
|
- format JSON standard sous forme de tableau d'octets ;
|
|
- permissions Unix `0700` pour le répertoire et `0600` pour le fichier ;
|
|
- copies sérialisées des secrets effacées de la mémoire après utilisation ;
|
|
- exposition limitée au public key, au résumé non secret et à l'interface `Signer` ;
|
|
- aucune exportation TS-rs du keypair ou de ses octets.
|
|
|
|
Le terme « temporaire » décrit son usage de laboratoire et non nécessairement sa durée de vie : lorsque la persistance est activée dans la configuration, le même keypair est rechargé entre deux démarrages afin de pouvoir recevoir un airdrop, signer plusieurs transactions et valider leur historique.
|
|
|
|
## Limites
|
|
|
|
Cette tranche n'ajoute ni chiffrement par mot de passe, ni coffre système, ni hardware wallet. Ces backends devront implémenter la même frontière de signature sans modifier les exécuteurs. Un wallet temporaire persistant ne doit pas être sélectionné pour un envoi mainnet dans les profils fournis.
|