Maison > Périphériques technologiques > Industrie informatique > Présentation de truffes, une suite de contrats intelligents blockchain

Présentation de truffes, une suite de contrats intelligents blockchain

Jennifer Aniston
Libérer: 2025-02-16 12:29:12
original
945 Les gens l'ont consulté

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>
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal