This commit is contained in:
2026-08-13 16:09:07 +02:00
parent 5f6c2ef45e
commit 199550bc82
25 changed files with 1233 additions and 1 deletions

47
README.md Normal file
View File

@@ -0,0 +1,47 @@
<!-- file: README.md -->
<!-- version: 2 -->
# 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.toml` n'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`](RULES.md).
Le point d'entrée de la documentation est [`docs/000-README.md`](docs/000-README.md).
Les livraisons détaillées et leurs validations sont tracées sous [`deltas/`](deltas/).