Aller au contenu principal
iCute FinanceACTIFS NUMÉRIQUES · OBSERVATION DU MARCHÉ
Français
Répertoire de recherche
iCute Finance

Navigation principale

Navigation principale

ACTIFS NUMÉRIQUES · OBSERVATION DU MARCHÉ

Bonnes pratiques d'autorisation Solana/Anchor pour un système multi-programme modulaire (rôles partagés entre les programmes, CPI)

Le dépôt semble être privé : Chacune des options a ses avantages et ses inconvénients, vous pouvez donc créer une implémentation hybride pour atténuer les effets. Voici quelques-unes des applications multi-programmes que vous pouvez adopter :

Marinade Finance : utilise un programme monocœur + des programmes satellites pour des domaines spécifiques. Vous pouvez vérifier comment ils gèrent l'autorité administrative par rapport à l'autorité opérationnelle (le programme principal a un conseil multisig en tant qu'administrateur, mais un PDA pour les opérations de retrait de participation). En outre, le programme de parrainage est un wrapper que les CPI intègrent au programme principal.

Marginfi : utilise l'isolement basé sur le groupe avec un programme partagé

Ellipsis Labs : utilise le programme principal + les programmes auxiliaires qui intègrent le CPI au noyau. Le Phoenix-v1 est le carnet de commandes principal tandis que le gestionnaire de sièges et le teneur de marché y programment l'IPC.

Pièges courants :

Faire confiance aveuglément à l'ID du programme d'invocation — Ce n'est pas parce qu'un CPI provient du programme X que le programme X a vérifié l'utilisateur. Vérifiez toujours à nouveau les signataires concernés. Oublier que les PDA ne conservent pas le statut de signataire d'une instruction à l'autre — Un PDA qui s'est connecté dans l'instruction 1 n'est pas automatiquement un signataire dans l'instruction 2, à moins que vous n'effectuiez à nouveau un CPI avec Ensure_signed. Autorité de mise à niveau centralisée — Si tous les programmes partagent une autorité de mise à niveau, votre modularité estillusoire. Pensez aux multisignatures.

Voir la source CC BY-SA 4.0