Eh bien, camarades, je vais vous raconter comment écrire de véritables smart contracts, sans embellissement ni stupidités dont regorge Internet. J'ai moi-même longtemps souffert avec cela et je suis prêt à partager mon expérience.
Je commencerai par dire que rédiger des smart contracts n'est pas aussi difficile qu'il y paraît, mais ce n'est pas non plus aussi simple que le promettent tous ces "gourous" avec leurs cours à des prix exorbitants. Cela devient particulièrement frustrant lorsque les grands acteurs du marché essaient de monopoliser ce domaine de connaissances.
Le choix de la langue est le premier pas vers le succès ou l'échec
Pour rédiger des contrats intelligents, ils utilisent principalement Solidity, qui est comme une norme dans l’industrie. Mais pour être honnête, la langue elle-même est assez brute et avec un tas de trous. J’ai travaillé avec lui pendant plusieurs années et je suis constamment tombé sur des problèmes dont personne ne me met en garde.
Il existe des alternatives - FunC pour TON, par exemple. Mais ici, il y a un autre problème - il y a peu de documentation, et elle est souvent en anglais avec une traduction bâclée.
Configuration de l'espace de travail
Oubliez les instructions compliquées. La combinaison qui me convient le mieux est Visual Studio Code + extension pour Solidity + Remix IDE pour des tests rapides. Pas besoin d'inventer la roue et d'installer une tonne de programmes, comme le conseillent les guides officiels.
Rédaction de contrat - les pièges
Lorsque vous rédigez un contrat, il est important de se rappeler que n'importe quelle erreur peut être utilisée pour voler de l'argent. Littéralement n'importe laquelle ! Je suis moi-même tombé dans ce piège lorsque j'ai oublié de vérifier le dépassement dans une simple fonction, et j'ai failli perdre une grosse somme.
Voici ce que je vais vous dire – ne faites pas confiance aux exemples de la documentation. Ils contiennent souvent du code non sécurisé qui ne doit absolument pas être mis en production. Et les modèles d'entreprise sont généralement écrits par des personnes qui ne comprennent parfois même pas les principes de base du fonctionnement de la blockchain.
Test — ne faites pas d'économie sur cela
Testez tout cent fois ! Ne croyez pas ceux qui disent "les tests peuvent attendre". Dans le monde de la crypto, c'est le chemin vers la perte de tout. J'écris généralement des tests même avant d'écrire le contrat lui-même, en réfléchissant à différents scénarios d'attaque.
J'ai vu des projets qui ont perdu des millions simplement parce que les développeurs ont paressé à tester tous les cas limites ou se sont dépêchés de sortir.
Déploiement sur le réseau
Lorsque vous déployez le contrat, n’oubliez pas de vérifier la commission. Parfois, le réseau est surchargé, et au lieu d’une quantité normale, vous pouvez donner une fortune pour le déploiement. Une fois, j’ai failli envoyer une transaction avec des frais supérieurs au coût du projet lui-même.
Et ne faites pas aveuglément confiance aux portefeuilles populaires - ils ont également tort. Il est préférable d’utiliser des outils fiables comme un casque de sécurité ou une truffe.
Que faire ensuite ?
Même après le déploiement, il est nécessaire de surveiller le contrat. Les hackers ne dorment pas et découvrent de nouvelles vulnérabilités chaque jour. À cet égard, la blockchain est impitoyable : une fois déployé avec une erreur, c'est fini, écris le mot perdu.
En général, ne pensez pas que les contrats intelligents sont une panacée. La plupart des projets blockchain sont de l’argent jeté par les fenêtres. Mais si vous faites quelque chose qui en vaut la peine, faites-le bien.
Rappelez-vous : il n'y a pas de rétrocessions de transactions et de remboursements dans la blockchain ! Ici, vous êtes entièrement responsable de votre code.
Bonne chance avec vos contrats ! Et oui - ne écoutez pas tous ces "experts" avec deux semaines d'expérience. Apprenez des erreurs des autres, pas des vôtres.
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
Rédaction de contrats intelligents - mes notes et opinions personnelles
Eh bien, camarades, je vais vous raconter comment écrire de véritables smart contracts, sans embellissement ni stupidités dont regorge Internet. J'ai moi-même longtemps souffert avec cela et je suis prêt à partager mon expérience.
Je commencerai par dire que rédiger des smart contracts n'est pas aussi difficile qu'il y paraît, mais ce n'est pas non plus aussi simple que le promettent tous ces "gourous" avec leurs cours à des prix exorbitants. Cela devient particulièrement frustrant lorsque les grands acteurs du marché essaient de monopoliser ce domaine de connaissances.
Le choix de la langue est le premier pas vers le succès ou l'échec
Pour rédiger des contrats intelligents, ils utilisent principalement Solidity, qui est comme une norme dans l’industrie. Mais pour être honnête, la langue elle-même est assez brute et avec un tas de trous. J’ai travaillé avec lui pendant plusieurs années et je suis constamment tombé sur des problèmes dont personne ne me met en garde.
Il existe des alternatives - FunC pour TON, par exemple. Mais ici, il y a un autre problème - il y a peu de documentation, et elle est souvent en anglais avec une traduction bâclée.
Configuration de l'espace de travail
Oubliez les instructions compliquées. La combinaison qui me convient le mieux est Visual Studio Code + extension pour Solidity + Remix IDE pour des tests rapides. Pas besoin d'inventer la roue et d'installer une tonne de programmes, comme le conseillent les guides officiels.
Rédaction de contrat - les pièges
Lorsque vous rédigez un contrat, il est important de se rappeler que n'importe quelle erreur peut être utilisée pour voler de l'argent. Littéralement n'importe laquelle ! Je suis moi-même tombé dans ce piège lorsque j'ai oublié de vérifier le dépassement dans une simple fonction, et j'ai failli perdre une grosse somme.
Voici ce que je vais vous dire – ne faites pas confiance aux exemples de la documentation. Ils contiennent souvent du code non sécurisé qui ne doit absolument pas être mis en production. Et les modèles d'entreprise sont généralement écrits par des personnes qui ne comprennent parfois même pas les principes de base du fonctionnement de la blockchain.
Test — ne faites pas d'économie sur cela
Testez tout cent fois ! Ne croyez pas ceux qui disent "les tests peuvent attendre". Dans le monde de la crypto, c'est le chemin vers la perte de tout. J'écris généralement des tests même avant d'écrire le contrat lui-même, en réfléchissant à différents scénarios d'attaque.
J'ai vu des projets qui ont perdu des millions simplement parce que les développeurs ont paressé à tester tous les cas limites ou se sont dépêchés de sortir.
Déploiement sur le réseau
Lorsque vous déployez le contrat, n’oubliez pas de vérifier la commission. Parfois, le réseau est surchargé, et au lieu d’une quantité normale, vous pouvez donner une fortune pour le déploiement. Une fois, j’ai failli envoyer une transaction avec des frais supérieurs au coût du projet lui-même.
Et ne faites pas aveuglément confiance aux portefeuilles populaires - ils ont également tort. Il est préférable d’utiliser des outils fiables comme un casque de sécurité ou une truffe.
Que faire ensuite ?
Même après le déploiement, il est nécessaire de surveiller le contrat. Les hackers ne dorment pas et découvrent de nouvelles vulnérabilités chaque jour. À cet égard, la blockchain est impitoyable : une fois déployé avec une erreur, c'est fini, écris le mot perdu.
En général, ne pensez pas que les contrats intelligents sont une panacée. La plupart des projets blockchain sont de l’argent jeté par les fenêtres. Mais si vous faites quelque chose qui en vaut la peine, faites-le bien.
Rappelez-vous : il n'y a pas de rétrocessions de transactions et de remboursements dans la blockchain ! Ici, vous êtes entièrement responsable de votre code.
Bonne chance avec vos contrats ! Et oui - ne écoutez pas tous ces "experts" avec deux semaines d'expérience. Apprenez des erreurs des autres, pas des vôtres.