Plutus : Meilleures pratiques en matière de contrats intelligents

Voici quelques bonnes pratiques générales que vous devriez suivre lorsque vous développez des contrats intelligents avec Plutus.

Connaître l'objectif de votre contrat intelligent
Sachez exactement ce que votre contrat intelligent doit faire et testez-le pour vous assurer qu'il remplit l'objectif attendu.

Vérifiez s'il existe des contrats antérieurs similaires
Existe-t-il déjà un contrat qui fait la même chose ? Si oui, qu'est-ce qui est différent dans votre contrat intelligent ?

Nommer
Choisissez un nom clair et significatif pour votre contrat intelligent. Gardez-le court et simple, et essayez d'utiliser le nom pour exprimer ce que fait le contrat.

Révision du code par des pairs
Les avantages de la révision du code sont bien connus : le code révisé permet d'assurer la cohérence du projet, l'absence de défauts et l'optimisation des performances du code. La connaissance du code est partagée entre les développeurs, ce qui réduit le temps et le coût de la maintenance à l'avenir. Pour les contrats intelligents, l'exactitude est absolument cruciale.

Test sur un réseau de test (testnet)
Vous devez toujours tester vos contrats intelligents sur un environnement de testnet avant de les exécuter sur le mainnet. Rédigez autant de scénarios de test que vous le pouvez et exécutez plusieurs itérations de vos tests. Pour mettre en place un testnet Alonzo, voir les exemples de script ici.

Documenter les cas de test
Conservez une liste des scénarios d'essai que vous exécutez afin de pouvoir les consulter et les vérifier.

Considérez la vérification formelle
Le sujet de la vérification formelle est trop vaste pour être abordé ici de manière approfondie. Vous pouvez supposer que votre code s'exécutera dans un environnement hostile où des acteurs hautement qualifiés, disposant de ressources importantes et sans scrupules, attendront de profiter de la moindre vulnérabilité.

 

Vous trouverez une copie officielle de ce document ici :

https://docs.cardano.org/plutus/sc-best-practices

 

Plus de traductions de Cardano à: https://cardanofortheworld.com/fr-fr