2.8 KiB
Khadhroony Solana Project
khadhroony-solana-project (KSP) est un workspace Rust consacré à la construction d'un ensemble cohérent de bibliothèques, workers, outils et applications autour de la blockchain Solana.
Finalité
KSP doit fournir des composants réutilisables permettant de comprendre, manipuler, acquérir, traiter, construire et exploiter les données et opérations Solana sans enfermer le projet dans une seule application ou un seul domaine fonctionnel.
Le projet vise notamment à fournir des fondations pour :
- les types et contrats Solana communs ;
- les interfaces on-chain et représentations wire des programmes ;
- le décodage des transactions, instructions, comptes et autres données Solana ;
- la construction et, selon les frontières qui seront retenues, l'exécution contrôlée d'opérations on-chain ;
- la matérialisation de données décodées vers des faits et modèles canoniques ;
- l'acquisition réseau et les transports nécessaires aux usages temps réel, historiques et de replay ;
- le stockage, la provenance, l'idempotence et la reconstruction des données dérivées ;
- la gestion des wallets, de la configuration et des autres services transversaux ;
- des applications, workers et démonstrations spécialisés consommant les bibliothèques KSP ;
- des couches d'analyse et d'automatisation pouvant être construites au-dessus de ces fondations.
L'architecture détaillée et les frontières définitives entre ces responsabilités sont définies progressivement par les règles, décisions et plans du projet.
Principes structurants
- Les bibliothèques réutilisables utilisent le préfixe
ksp-et le suffixe-lib. - Les applications utilisent le préfixe
ksp-app-. - Les workers utilisent le préfixe
ksp-worker-. - Une application ou un outil de démonstration se termine par
-demo. - Les crates Rust sont placées directement sous
crates/, sans sous-répertoires de catégories. - Les applications sont placées sous
apps/lorsqu'elles sont introduites. - Les dépendances sont maintenues aussi récentes que possible ; les contraintes nécessaires sont documentées explicitement.
- Les lockfiles de dépendances ne sont pas versionnés.
- Aucun
rust-toolchain.tomln'est utilisé. - Les composants réutilisables restent séparés de leurs applications de manipulation ou de démonstration.
- Les environnements et contraintes des démonstrations doivent être visibles dans leur nomenclature lorsqu'ils ne sont pas sélectionnables.
Organisation documentaire
Le point d'entrée des règles est RULES.md.
Le point d'entrée de la documentation est docs/000-README.md.
Les livraisons détaillées et leurs validations sont tracées sous deltas/.