{"id":642,"date":"2026-08-07T10:03:53","date_gmt":"2026-08-07T09:03:53","guid":{"rendered":"https:\/\/coinculb.com\/comment-verifier-un-smart-contract-avant-dinteragir-avec-lui\/"},"modified":"2026-08-07T10:03:53","modified_gmt":"2026-08-07T09:03:53","slug":"comment-verifier-un-smart-contract-avant-dinteragir-avec-lui","status":"publish","type":"post","link":"https:\/\/coinculb.com\/fr\/comment-verifier-un-smart-contract-avant-dinteragir-avec-lui\/","title":{"rendered":"Comment v\u00e9rifier un smart contract avant d\u2019interagir avec lui"},"content":{"rendered":"<p>Tu n\u2019as pas besoin de lire du code pour \u00e9viter la majorit\u00e9 des d\u00e9sastres li\u00e9s aux contrats. La plupart des pertes viennent d\u2019un petit nombre de conditions v\u00e9rifiables.<\/p>\n<h2>1. Le contrat est-il v\u00e9rifi\u00e9 ?<\/h2>\n<p>Un contrat v\u00e9rifi\u00e9 a publi\u00e9 son code source, et un explorateur de blocs a confirm\u00e9 qu\u2019il se compile vers le bytecode d\u00e9ploy\u00e9. Non v\u00e9rifi\u00e9 signifie que personne, \u00e0 part le d\u00e9ployeur, ne sait ce qu\u2019il fait.<\/p>\n<p><strong>Consid\u00e8re un contrat non v\u00e9rifi\u00e9 comme hostile.<\/strong> Il n\u2019y a aucune raison l\u00e9gitime pour qu\u2019un projet qui te demande de l\u2019argent cache son code source. Cette seule v\u00e9rification en \u00e9limine \u00e9norm\u00e9ment.<\/p>\n<h2>2. Que peut faire le propri\u00e9taire ?<\/h2>\n<p>M\u00eame dans du code v\u00e9rifi\u00e9, un non-d\u00e9veloppeur peut chercher les fonctions qui comptent. Cherche :<\/p>\n<ul>\n<li><strong><code>mint<\/code><\/strong> \u2014 le propri\u00e9taire peut-il cr\u00e9er des jetons illimit\u00e9s ? Cela te dilue jusqu\u2019\u00e0 z\u00e9ro \u00e0 volont\u00e9.<\/li>\n<li><strong><code>pause<\/code> \/ <code>blacklist<\/code><\/strong> \u2014 peuvent-ils t\u2019emp\u00eacher de vendre, ou bloquer ton adresse sp\u00e9cifique ? Les jetons \u00ab honeypot \u00bb fonctionnent exactement ainsi : tu peux acheter, mais plus vendre ensuite.<\/li>\n<li><strong><code>setFee<\/code> \/ <code>setTax<\/code><\/strong> \u2014 les frais de transfert peuvent-ils \u00eatre modifi\u00e9s apr\u00e8s ton achat ? Des frais relev\u00e9s \u00e0 99 % sont un pi\u00e8ge.<\/li>\n<li><strong><code>onlyOwner<\/code><\/strong> \u2014 combien de fonctions sont r\u00e9serv\u00e9es \u00e0 une seule adresse, et cette adresse est-elle une cl\u00e9 unique ou un multisig ?<\/li>\n<\/ul>\n<p>De nombreux explorateurs affichent d\u00e9sormais cela automatiquement. Si le propri\u00e9taire peut cr\u00e9er, suspendre ou taxer \u00e0 volont\u00e9, les r\u00e8gles du jeton sont ce qu\u2019il d\u00e9cidera demain.<\/p>\n<h2>3. Comprends ce que tu approuves<\/h2>\n<p>C\u2019est l\u00e0 que se produisent la plupart des vidages de wallet. Pour permettre \u00e0 un contrat de d\u00e9placer tes jetons, tu accordes une <em>allocation<\/em> (allowance). Deux choses surprennent les gens :<\/p>\n<ul>\n<li><strong>Les allocations sont fr\u00e9quemment illimit\u00e9es.<\/strong> De nombreuses interfaces approuvent par d\u00e9faut le montant maximum possible, si bien que le contrat peut d\u00e9placer tous les jetons de ce type que tu d\u00e9tiens \u2014 maintenant et ceux que tu acquerras plus tard.<\/li>\n<li><strong>Elles persistent ind\u00e9finiment.<\/strong> L\u2019approbation reste active apr\u00e8s ton op\u00e9ration, jusqu\u2019\u00e0 ce que tu la r\u00e9voques. Un protocole compromis un an plus tard peut toujours agir sur une allocation que tu as accord\u00e9e aujourd\u2019hui.<\/li>\n<\/ul>\n<p>Lis l\u2019\u00e9cran d\u2019approbation. Ton wallet indique quel contrat et quel montant. S\u2019il indique illimit\u00e9 et que tu fais un \u00e9change ponctuel, indique plut\u00f4t un montant pr\u00e9cis.<\/p>\n<h2>4. Reconna\u00eetre une demande de signature malveillante<\/h2>\n<p>Toute signature n\u2019est pas une transaction. Certaines demandes te demandent de signer un message qui accorde des permissions hors cha\u00eene \u2014 une technique tr\u00e8s utilis\u00e9e sur les faux sites de mint et d\u2019airdrop.<\/p>\n<p>Signaux d\u2019alerte : une demande de signature que tu n\u2019as pas initi\u00e9e ; une demande apparaissant imm\u00e9diatement apr\u00e8s avoir cliqu\u00e9 sur un lien re\u00e7u par message priv\u00e9 ou publicit\u00e9 ; une demande dont ton wallet ne peut pas d\u00e9coder le contenu en quelque chose de lisible ; ou toute demande sur un site atteint depuis une source non sollicit\u00e9e. En cas de doute, refuse. Une action l\u00e9gitime peut toujours \u00eatre refaite.<\/p>\n<h2>5. R\u00e9voque les anciennes approbations<\/h2>\n<p>Fais-en une habitude. Utilise un outil de r\u00e9vocation r\u00e9put\u00e9 \u2014 atteint en tapant directement l\u2019adresse, car de faux sites de r\u00e9vocation existent et sont exactement le genre de pi\u00e8ge qui attrape les utilisateurs soucieux de leur s\u00e9curit\u00e9 \u2014 et supprime les allocations dont tu n\u2019as plus besoin, en particulier les illimit\u00e9es et celles accord\u00e9es \u00e0 des protocoles que tu n\u2019utilises plus.<\/p>\n<h2>6. Traite \u00ab audit\u00e9 \u00bb avec prudence<\/h2>\n<p>Un audit est un examen ponctuel r\u00e9alis\u00e9 par des personnes faillibles, souvent sur une version qui a chang\u00e9 par la suite. De nombreux protocoles audit\u00e9s ont \u00e9t\u00e9 exploit\u00e9s.<\/p>\n<p>Questions utiles \u00e0 se poser : qui l\u2019a r\u00e9alis\u00e9, le rapport est-il public, quels probl\u00e8mes de gravit\u00e9 ont \u00e9t\u00e9 trouv\u00e9s, ont-ils \u00e9t\u00e9 corrig\u00e9s, et le contrat a-t-il \u00e9t\u00e9 modifi\u00e9 depuis ? \u00ab Audit\u00e9 par \u00bb sans rapport en lien est du marketing.<\/p>\n<h2>7. Privil\u00e9gie les contrats \u00e9prouv\u00e9s par le temps<\/h2>\n<p>Le signal le plus fort disponible, c\u2019est la survie. Un protocole qui d\u00e9tient une valeur importante depuis des ann\u00e9es sans exploit a subi des attaques continues d\u2019adversaires bien financ\u00e9s, et a tenu bon. C\u2019est un test plus dur que n\u2019importe quel audit.<\/p>\n<p>Les nouveaux contrats n\u2019ont, par d\u00e9finition, encore rien prouv\u00e9, quelle que soit la qualit\u00e9 apparente du code.<\/p>\n<h2>Une checklist avant le d\u00e9collage<\/h2>\n<ul>\n<li>Contrat v\u00e9rifi\u00e9 sur un explorateur de blocs<\/li>\n<li>Aucune fonction de cr\u00e9ation illimit\u00e9e, de pause, de liste noire ou de frais modifiables \u2014 ou propri\u00e9t\u00e9 renonc\u00e9e<\/li>\n<li>Port\u00e9e de l\u2019approbation comprise, et limit\u00e9e dans la mesure du possible<\/li>\n<li>Demande de signature initi\u00e9e par moi, sur un site auquel j\u2019ai acc\u00e9d\u00e9 directement<\/li>\n<li>Le protocole a un historique de fonctionnement significatif et une valeur en jeu<\/li>\n<li>J\u2019utilise un wallet ne contenant que ce que je peux me permettre de perdre<\/li>\n<\/ul>\n<h2>\u00c0 lire ensuite<\/h2>\n<p>Tu as termin\u00e9 le parcours Gains et DeFi \u2014 et les quatre parcours. Le <a href=\"https:\/\/coinculb.com\/fr\/glossaire\/\">glossaire<\/a> couvre tous les termes que tu veux revoir, et le <a href=\"https:\/\/coinculb.com\/fr\/apprendre\/\">centre d\u2019apprentissage<\/a> affiche ta progression.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Les v\u00e9rifications pratiques qu\u2019un non-d\u00e9veloppeur peut faire avant d\u2019approuver une transaction \u2014 statut de v\u00e9rification, fonctions privil\u00e9gi\u00e9es, port\u00e9e de l\u2019approbation et r\u00e9vocation.<\/p>\n","protected":false},"author":61,"featured_media":299,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[113,56,107],"tags":[],"cc_level":[26],"cc_path":[30],"class_list":["post-642","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blockchain-technologie-fr","category-guides-tutoriels","category-protocoles-defi","cc_level-advanced","cc_path-earning-defi"],"_links":{"self":[{"href":"https:\/\/coinculb.com\/fr\/wp-json\/wp\/v2\/posts\/642","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/coinculb.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/coinculb.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/coinculb.com\/fr\/wp-json\/wp\/v2\/users\/61"}],"replies":[{"embeddable":true,"href":"https:\/\/coinculb.com\/fr\/wp-json\/wp\/v2\/comments?post=642"}],"version-history":[{"count":0,"href":"https:\/\/coinculb.com\/fr\/wp-json\/wp\/v2\/posts\/642\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/coinculb.com\/fr\/wp-json\/wp\/v2\/media\/299"}],"wp:attachment":[{"href":"https:\/\/coinculb.com\/fr\/wp-json\/wp\/v2\/media?parent=642"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/coinculb.com\/fr\/wp-json\/wp\/v2\/categories?post=642"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/coinculb.com\/fr\/wp-json\/wp\/v2\/tags?post=642"},{"taxonomy":"cc_level","embeddable":true,"href":"https:\/\/coinculb.com\/fr\/wp-json\/wp\/v2\/cc_level?post=642"},{"taxonomy":"cc_path","embeddable":true,"href":"https:\/\/coinculb.com\/fr\/wp-json\/wp\/v2\/cc_path?post=642"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}