Passer au contenu principal

Directives de sécurité pour les contrats intelligents

soliditycontrats intelligentssécurité
Intermédiaire
Trailofbits
Créer des contrats sécurisés(opens in a new tab)
6 septembre 2020
5 minutes de lecture minute read

Suivez ces recommandations de haut niveau pour établir des contrats intelligents plus sécurisés.

Directives de conception

La conception du contrat doit être discutée à l'avance, avant de rédiger une ligne de code.

Documentation et spécifications

La documentation peut être écrite à différents niveaux et devrait être mise à jour lors de l'implémentation des contrats :

Calcul On-chain vs Off-chain

  • Conserver le plus de code que vous pouvez hors chaîne. Garder la couche en chaîne petite. Pré-traiter les données avec du code hors chaîne de telle façon que la vérification en chaîne soit simple. Avez-vous besoin d'une liste ordonnée ? Trier la liste hors chaîne, puis ne vérifier que son ordre en chaîne.

Mise à jour

Nous avons discuté des différentes solutions de mise à niveau dans notre blogpost(opens in a new tab). Faites un choix délibéré de prendre en charge la possibilité de mise à niveau ou non avant de rédiger un code. La décision influencera la façon dont vous structurerez notre code. En général, nous recommandons :

Directives d'exécution

Opter pour la simplicité. Utilisez toujours la solution la plus simple qui correspond à votre but. Tout membre de votre équipe devrait être en mesure de comprendre votre solution.

Composition de la fonction

L'architecture de votre code de base devrait rendre votre code facile à vérifier. Évitez les choix architecturaux qui réduisent la capacité à raisonner sur son exactitude.

  • Séparer la logique de votre système, soit par des contrats multiples, soit en regroupant des fonctions similaires (par exemple, authentification, arithmétique, ...).
  • Écrire de petites fonctions, avec un objectif clair. Cela facilitera la révision et permettra le test de composantes individuelles.

Héritage

Événements

  • Enregistre toutes les opérations cruciales. Les événements aideront à déboguer le contrat pendant le développement, et à le surveiller après le déploiement.

Éviter les pièges connus

Dépendances

Tests et vérification

Solidity

Directives de déploiement

Une fois le contrat développé et déployé :

Dernière modification: @pettinarip(opens in a new tab), 8 décembre 2023

Ce tutoriel vous a été utile ?