


Présentation de truffes, une suite de contrats intelligents blockchain
Feb 16, 2025 pm 12:29 PM
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
outruffle migrate --network live
(environnement spécifié) - Exécuter le test:
truffle test
outruffle 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!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

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

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

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Qu'on le veuille ou non, l'intelligence artificielle fait partie de la vie quotidienne. De nombreux appareils - y compris les rasoirs électriques et les brosses à dents - sont devenus alimentés par l'IA, "en utilisant des algorithmes d'apprentissage automatique pour suivre comment une personne utilise l'appareil, comment le Devi

Un nouveau modèle d'intelligence artificielle (IA) a démontré la capacité de prédire les principaux événements météorologiques plus rapidement et avec une plus grande précision que plusieurs des systèmes de prévision mondiaux les plus utilisés. Ce modèle, nommé Aurora, a été formé u

Plus nous essayons de faire fonctionner les modèles d'IA, plus leurs émissions de carbone deviennent grandes - certaines invites générant jusqu'à 50 fois plus de dioxyde de carbone que d'autres, selon une étude récente.

La principale préoccupation concernant les grandes technologies expérimentant l'intelligence artificielle (IA) n'est pas qu'elle pourrait dominer l'humanité. Le vrai problème réside dans les inexactitudes persistantes des modèles de grands langues (LLM) tels que le chatppt d'Open AI, les Gémeaux de Google et

Plus l'intelligence artificielle plus avancée (AI) devient, plus elle a tendance à "halluciner" et à fournir des informations fausses ou inexactes. Selon la recherche par Openai, ses modèles de raisonnement les plus récents et puissants - O3 et O4-MINI - ont exhibés H

Les modèles de raisonnement de l'intelligence artificielle (IA) ne sont pas aussi capables qu'ils apparaissent. En réalité, leur performance se décompose complètement lorsque les taches deviennent trop complexes, selon les chercheurs d'Apple.Reassinging Models comme Anthropic's Claude, Open

La National Crime Agency (NCA) du Royaume-Uni a arrêté quatre personnes soup?onnées de participation aux cyberattaques ciblant les marques et Spencer (M&S), Co-Op et Harrods., selon une déclaration, les suspects incluent deux hommes de 19 ans, un 17 ans-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-O-On

La cryptographie post-quantum est devenue une priorité absolue pour les dirigeants de la cybersécurité, mais des recherches récentes indiquent que certaines organisations ne traitent pas la menace avec la gravité qu'il exige.
