64 lines
2.7 KiB
Markdown
64 lines
2.7 KiB
Markdown
<!-- file: crates/ksp-app-raw-transaction-ingest-desk/README.md -->
|
|
<!-- version: 4 -->
|
|
|
|
# `ksp-app-raw-transaction-ingest-desk`
|
|
|
|
Application desktop Tauri KSP destinée à composer et superviser les routes live alimentant le Store commun en `RawTransaction`.
|
|
|
|
Le composant conserve les frontières KSP : Config possède les profils/endpoints/secrets, Transport les clients et sessions, Store la persistance et le Worker la logique d'ingestion. Le shell desktop ne déplace jamais ces responsabilités vers le frontend.
|
|
|
|
## Package
|
|
|
|
```text
|
|
package : ksp-app-raw-transaction-ingest-desk
|
|
lib : ksp_app_raw_transaction_ingest_desk_lib
|
|
bin : ksp-app-raw-transaction-ingest-desk
|
|
```
|
|
|
|
## Frontières
|
|
|
|
```text
|
|
Config -> composite, profils, secrets et résolution effective
|
|
Transport -> capabilities HTTP/WS/gRPC et ressources physiques
|
|
Desk -> catalogue logique, inventaire Config-only et projections sûres
|
|
Store -> persistance via la façade KSP
|
|
Worker -> acquisition continue et lifecycle d'exécution
|
|
```
|
|
|
|
L'inventaire de routes est calculé côté Rust à partir du composite Config validé et des settings Transport/Store résolus. Il ne lance aucun probe réseau et n'ouvre ni Store ni Worker.
|
|
|
|
Les profils applicatifs sont réseau-centriques (`devnet`, `mainnet`, `testnet`). Un profil peut agréger plusieurs profils Transport du même réseau : le provider reste une source de capability et ne devient jamais une identité réseau ni un choix de profil applicatif.
|
|
|
|
Le frontend ne reçoit aucune URL, credential, URI Store, metadata secrète, source key, handle runtime ou payload `RawTransaction`.
|
|
|
|
## Routes V1
|
|
|
|
```text
|
|
yellowstone-hydrated
|
|
standard-logs-hydrated
|
|
standard-block-direct
|
|
helius-transaction-hydrated
|
|
http-block-polling
|
|
```
|
|
|
|
Les profils standard publics committés déclarent `Block` en plus de `Logs`; `standard-block-direct` est donc composable depuis Config sur Devnet, Mainnet et Testnet. Cette déclaration ne transforme pas `blockSubscribe` en méthode stable et ne remplace pas la revalidation runtime.
|
|
|
|
Une route `Configured` est uniquement **composable depuis Config**. La disponibilité réelle des connexions, du Store et du Worker est revalidée lors du Start avant qu'une route puisse devenir `Running`.
|
|
|
|
## Ports de développement
|
|
|
|
```text
|
|
Vite HTTP : 1440
|
|
Vite WS : 1441
|
|
```
|
|
|
|
Lancement :
|
|
|
|
```bash
|
|
(cd crates/ksp-app-raw-transaction-ingest-desk && cargo tauri dev)
|
|
```
|
|
|
|
Le cycle frontend est déclenché par Tauri via ses hooks configurés ; les scripts npm applicatifs ne sont pas lancés directement par l'opérateur.
|
|
|
|
Voir [`USAGE.md`](USAGE.md) et [`../../docs/plans/036-V0_3_15_RAW_TRANSACTION_INGEST_DESK_PLAN.md`](../../docs/plans/036-V0_3_15_RAW_TRANSACTION_INGEST_DESK_PLAN.md).
|