recherche
MaisonPériphériques technologiquesIndustrie informatiquePrésentation de truffes, une suite de contrats intelligents blockchain

Introducing Truffle, a Blockchain Smart Contract Suite

truffe: un outil puissant pour simplifier le développement de contrats intelligents

truffes est une suite de contrats intelligents Blockchain populaire conçue pour simplifier et standardiser le processus de développement, de test et de déploiement des contrats intelligents. Il prend en charge plusieurs versions du compilateur Solc, permet une configuration spécifique à l'environnement, intègre l'interface web3.js pour une communication facile avec les contrats intelligents et dispose d'un cadre de test intégré.

Installation et préparation des truffes

La meilleure façon d'installer la truffe est d'utiliser le Node Package Manager (NPM). Une fois l'installation terminée, le développeur peut configurer un projet de démonstration pour comprendre comment il fonctionne. Truffle fournit également un environnement de projet structuré avec des dossiers spécifiés pour les contrats, les migrations et les tests, ainsi qu'un fichier de configuration pour gérer l'environnement, la structure du projet, les versions du compilateur et les paramètres.

Fonctions du noyau de truffe

Les caractéristiques clés de la truffe comprennent: les tests de contrat automatique, le déploiement scriptable et les cadres de migration, les consoles interactives pour la communication contractuelle directe et l'intégration avec la ganache pour le déploiement et les tests de contrat. Il s'intègre également à la bruine pour rendre l'écriture frontale DAPP plus facile et plus prévisible.

Défis du développement des contrats intelligents précoces

Au début du développement de contrats intelligents (vers 2016), les développeurs ont souvent écrit des contrats intelligents en utilisant leurs éditeurs de texte préférés et les déployés en appelant directement Geth et Solc. Afin d'améliorer la convivialité des utilisateurs, les développeurs écriront des scripts bash, compileront d'abord, puis déploieront des contrats, mais cela est encore relativement simple, manque de normalisation et possède une mauvaise expérience utilisateur.

Truffe et Embark ont ​​vu le jour pour résoudre ces problèmes, et la truffe est devenue l'objectif de cet article en raison de sa pénétration plus élevée.

truffe vise à résoudre les problèmes suivants:

  • Compilation: Soutenez plusieurs versions du compilateur Solc en même temps et indiquent clairement la version à utiliser.
  • Environnement: Les contrats doivent avoir des environnements de développement, d'intégration et de production, chaque environnement a sa propre adresse, compte, compte, etc.
  • Test: Les contrats doivent être testables. L'importance de tester les logiciels ne peut pas être surestimée. Alors, assurez-vous de tester votre contrat!
  • Configuration: Les environnements de développement, d'intégration et de production doivent être encapsulés dans des fichiers de configuration afin qu'ils puissent être soumis à Git et réutilisés par les membres de l'équipe.
  • Intégration web3js: web3.js est un framework JavaScript utilisé pour simplifier la communication des applications Web aux contrats intelligents. Truffle va plus loin, permettant l'utilisation de l'interface web3.js dans la console truffes pour appeler les fonctions Web en mode développement (en dehors du navigateur).

Structure du projet de truffes

Une structure de projet de truffe typique est la suivante:

<code>.
├── contracts
│   ├── ConvertLib.sol
│   ├── MetaCoin.sol
│   └── Migrations.sol
├── migrations
│   ├── 1_initial_migration.js
│   └── 2_deploy_contracts.js
├── test
│   ├── TestMetacoin.sol
│   └── metacoin.js
├── truffle-config.js
└── truffle.js</code>

Les fonctions de chaque dossier sont:

  • Folder des contrats: Stockage Tous les contrats intelligents. Le fichier migrations.sol est un fichier spécial pour la migration contractuelle.
  • Dossier Migrations: Contient des scripts qui définissent comment les contrats sont déployés sur la blockchain.
  • Dossier de test: contient des cas de test contractuel, qui peuvent être écrits à l'aide de Solidity ou JavaScript.
  • truffle-config.js ou truffle.js Fichier: Fichier de configuration, définit l'environnement, la structure du projet, la version et les paramètres du compilateur, etc.

Migration des contrats et tests

Les scripts de migration définissent le processus de déploiement du contrat vers la blockchain, permettant de définir le gaz maximum, de modifier l'adresse d'envoi du déploiement, de la bibliothèque de déploiement et d'appeler toute fonction contractuelle. La migration initiale (1_Initial_migration.js) déploie le contrat Migrations.sol vers la blockchain.

Framework de test intégré aux truffes, permettant aux développeurs d'écrire des cas de solidité ou de test JavaScript.

Fichier de configuration (truffle.js / truffle-config.js)

Le fichier de configuration définit les éléments suivants:

  • Environnement: Développement, réseau de test, environnement de production. L'adresse du nœud Geth, l'ID de réseau, le prix maximal du gaz et du gaz pour le déploiement peuvent être définis.
  • Structure du projet: Vous pouvez modifier l'emplacement de la construction et du stockage des fichiers, mais la modification n'est pas recommandée.
  • Version et paramètres du compilateur: Définissez la version SOLC et les paramètres d'optimisation.
  • Gestion des packages: Peut être utilisé avec EthPM (Ethereum Package Manager) pour définir les dépendances ETHPM.
  • Description du projet: Créateur de projet, nom de projet, adresse de contact, etc.
  • limite: Par exemple, gplv3.

Exécuter le code

  • Contrat de compilation: truffle compile
  • Exécutez la migration: truffle migrate ou truffle migrate --network live (environnement spécifié)
  • Exécuter le test: truffle test ou truffle test ./path/to/FileTest.sol (Spécifiez le fichier de test)

Résumé

truffes est un outil très pratique qui facilite le développement dans ce nouvel écosystème. Il vise à introduire des normes et des pratiques communes des autres domaines de développement dans le domaine de l'expérimentation de la blockchain.

FAQ

Cet article a introduit les fonctions de base et les méthodes d'utilisation de la truffe en détail et comprend des réponses aux questions courantes. Pour comprendre les truffes plus profondément, les lecteurs sont invités à pratiquer le projet réel.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Top 21 newsletters du développeur auquel s'abonner en 2025Top 21 newsletters du développeur auquel s'abonner en 2025Apr 24, 2025 am 08:28 AM

Restez informé des dernières tendances technologiques avec ces meilleurs bulletins de développeur! Cette liste organisée offre quelque chose pour tout le monde, des amateurs d'IA aux développeurs assaisonnés du backend et du frontend. Choisissez vos favoris et gagnez du temps à la recherche de rel

Pipeline de traitement d'image sans serveur avec AWS ECS et LambdaPipeline de traitement d'image sans serveur avec AWS ECS et LambdaApr 18, 2025 am 08:28 AM

Ce tutoriel vous guide dans la création d'un pipeline de traitement d'image sans serveur à l'aide de services AWS. Nous allons créer un frontend Next.js déployé sur un cluster ECS Fargate, en interagissant avec une passerelle API, des fonctions lambda, des seaux S3 et DynamoDB. Ème

Pilote CNCF ARM64: impact et perspectivesPilote CNCF ARM64: impact et perspectivesApr 15, 2025 am 08:27 AM

Ce programme pilote, une collaboration entre le CNCF (Cloud Native Computing Foundation), Ampere Computing, Equinix Metal et ACTUTIE, rationalise ARM64 CI / CD pour les projets GitHub CNCF. L'initiative répond aux problèmes de sécurité et aux performances LIM

Construire un scanner de vulnérabilité de réseau avec GoConstruire un scanner de vulnérabilité de réseau avec GoApr 01, 2025 am 08:27 AM

Ce scanner de vulnérabilité de réseau basé sur GO identifie efficacement les faiblesses de sécurité potentielles. Il exploite les fonctionnalités de concurrence de GO pour la vitesse et comprend la détection de services et la correspondance de vulnérabilité. Explorons ses capacités et ses éthiques

See all articles

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

Version crackée d'EditPlus en chinois

Version crackée d'EditPlus en chinois

Petite taille, coloration syntaxique, ne prend pas en charge la fonction d'invite de code

Version Mac de WebStorm

Version Mac de WebStorm

Outils de développement JavaScript utiles

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Puissant environnement de développement intégré PHP