25 lines
1.3 KiB
Markdown
25 lines
1.3 KiB
Markdown
<!-- file: crates/ksp-interface-lib/USAGE.md -->
|
|
<!-- version: 1 -->
|
|
|
|
# Usage de ksp-interface-lib
|
|
|
|
Cette page décrit la surface publique actuellement matérialisée par la foundation Interface. Les APIs d'instruction sont ajoutées progressivement sans exposer les modules internes.
|
|
|
|
## Utiliser le Pubkey canonique
|
|
|
|
Interface réexporte le `Pubkey` possédé par Core afin que les futurs contrats wire puissent partager la même primitive sans wrapper parallèle :
|
|
|
|
```rust
|
|
let program_id = ksp_interface_lib::Pubkey::default();
|
|
let bytes = program_id.to_bytes();
|
|
assert_eq!(bytes.len(), 32);
|
|
```
|
|
|
|
Un consumer ne doit pas reconstruire une identité Program textuelle propre à Interface. Les Program IDs fondamentaux restent possédés et répertoriés par `ksp-core-lib`.
|
|
|
|
## Surface volontairement absente
|
|
|
|
La foundation initiale n'expose encore aucun constructeur d'instruction fonctionnel. Elle ne fournit pas non plus de codec générique Borsh/Wincode, de sérialisation Serde, de transport ou de comportement Program. Ces surfaces sont ajoutées uniquement lorsque leur contrat réel est matérialisé et borné.
|
|
|
|
Aucun runtime logging n'est nécessaire pour les contrats passifs actuels ; une future instrumentation comportementale devrait passer par `ksp-logging-lib` selon les règles KSP au lieu d'introduire `tracing` directement.
|