Capitalisation boursière: $3.4407T -0.90%
Volume(24h): $139.7592B -37.00%
Indice de peur et de cupidité:

25 - Peur

  • Capitalisation boursière: $3.4407T -0.90%
  • Volume(24h): $139.7592B -37.00%
  • Indice de peur et de cupidité:
  • Capitalisation boursière: $3.4407T -0.90%
Cryptos
Les sujets
Cryptospedia
Nouvelles
Cryptosopique
Vidéos
Top Cryptospedia

Choisir la langue

Choisir la langue

Sélectionnez la devise

Cryptos
Les sujets
Cryptospedia
Nouvelles
Cryptosopique
Vidéos

Comment créer un contrat intelligent simple avec Solidity ?

Set up your Solidity dev environment with Node.js, Hardhat, and the Solidity compiler, then write, compile, and test a basic contract like Lock.sol locally.

Nov 06, 2025 at 05:30 am

Configuration de votre environnement de développement

1. Installez Node.js et npm pour gérer les dépendances et exécuter les outils locaux requis pour le développement Solidity.

2. Utilisez npm pour installer Hardhat, un puissant environnement de développement Ethereum qui prend en charge l'écriture, le test et le déploiement de contrats intelligents.

3. Initialisez un nouveau projet Hardhat en utilisant npx hardhat dans votre terminal, qui configure la structure de base des dossiers et les fichiers de configuration.

4. Installez le compilateur Solidity en l'ajoutant en tant que dépendance via le système de plugins de Hardhat, garantissant ainsi la compatibilité avec votre version EVM cible.

5. Créez un nouveau fichier appelé Lock.sol dans le répertoire des contrats pour commencer à rédiger votre premier contrat.

Rédiger un contrat intelligent de base en toute solidité

1. Démarrez le fichier Solidity avec l'instruction pragma spécifiant la version du compilateur, telle que pragma solidity ^0.8.0 ; .

2. Définissez un contrat à l'aide du mot-clé contract suivi d'un nom comme Lock , encapsulant toute la logique entre accolades.

3. Déclarez une variable d'état pour stocker les données en chaîne, par exemple : uint public unlockTime ; et adresse du propriétaire public payable ; .

4. Implémentez un constructeur qui s'exécute une fois lorsque le contrat est déployé, en définissant des valeurs initiales telles que le propriétaire et l'horodatage de déverrouillage.

5. Ajoutez une fonction comme Remove() qui inclut un contrôle d'accès à l'aide de modificateurs ou des instructions require pour restreindre l'exécution au propriétaire après un certain temps.

La fonctionnalité de modification de Solidity permet aux développeurs de réutiliser la logique de validation dans plusieurs fonctions, améliorant ainsi la lisibilité du code et réduisant la redondance.

Compilation et déploiement du contrat localement

1. Écrivez un script de déploiement dans le dossier scripts à l'aide de JavaScript ou de TypeScript pour instancier et envoyer le contrat à un réseau local.

2. Utilisez le réseau intégré de Hardhat pour simuler un environnement Ethereum sans dépenser d'argent réel pendant les tests.

3. Exécutez la commande de compilation npx hardhat compile pour vous assurer qu'il n'y a pas d'erreurs de syntaxe et générer des artefacts ABI.

4. Exécutez le script de déploiement via npx hardhat run scripts/deploy.js pour déployer le contrat sur le nœud local.

5. Capturez l'adresse du contrat déployé pour l'interaction et la vérification dans les étapes suivantes.

Tester le comportement du contrat intelligent

1. Créez un fichier de test dans le répertoire de test pour valider les fonctionnalités de base telles que les règles de propriété et de retrait basées sur le temps.

2. Utilisez ethers.js dans les tests pour interagir avec l'instance de contrat déployée et simuler les actions des utilisateurs.

3. Utilisez une description de style Moka et des blocs pour organiser clairement les cas de test et affirmer les résultats attendus à l'aide des assertions Chai.

4. Simulez des cas extrêmes tels que des tentatives de retrait anticipées et des accès non autorisés pour vérifier les contraintes de sécurité.

5. Exécutez la suite de tests complète à l'aide du test npx hardhat pour confirmer la fiabilité avant d'envisager un déploiement externe.

Foire aux questions

Quels outils puis-je utiliser pour écrire du code Solidity confortablement ? Les options populaires incluent Visual Studio Code avec l'extension Solidity, Remix IDE pour l'édition basée sur un navigateur et Hardhat pour les flux de travail de test et de déploiement intégrés.

Comment gérer le débordement d’entier dans Solidity ? À partir de Solidity 0.8.0, les opérations arithmétiques vérifient automatiquement les débordements et les sous-débordements, annulant les transactions si elles sont détectées. Pas besoin de s'appuyer sur des bibliothèques externes comme SafeMath, sauf si vous utilisez des versions plus anciennes.

Puis-je modifier un contrat intelligent après le déploiement ? Non, les contrats déployés sont immuables. Toute modification nécessite le redéploiement d’une nouvelle instance. Les développeurs utilisent souvent des modèles de proxy pour simuler l'évolutivité tout en maintenant la continuité des données.

Quel est l’objectif des projets ABI in Solidity ? L'interface binaire d'application (ABI) définit comment interagir avec le contrat, en répertoriant les fonctions, les paramètres et les types de retour. Il est essentiel que les frontends et les outils externes appellent correctement les méthodes contractuelles.

Clause de non-responsabilité:info@kdj.com

Les informations fournies ne constituent pas des conseils commerciaux. kdj.com n’assume aucune responsabilité pour les investissements effectués sur la base des informations fournies dans cet article. Les crypto-monnaies sont très volatiles et il est fortement recommandé d’investir avec prudence après une recherche approfondie!

Si vous pensez que le contenu utilisé sur ce site Web porte atteinte à vos droits d’auteur, veuillez nous contacter immédiatement (info@kdj.com) et nous le supprimerons dans les plus brefs délais.

Connaissances connexes

Comment envoyer de l’Ether en toute sécurité vers un autre contrat ?

Comment envoyer de l’Ether en toute sécurité vers un autre contrat ?

Nov 09,2025 at 06:40pm

Envoi d'Ether vers des contrats intelligents : considérations clés 1. Vérifiez que le contrat destinataire dispose d'une fonction de secours p...

Qu’est-ce qu’une machine à états et comment un contrat peut-il être conçu comme tel ?

Qu’est-ce qu’une machine à états et comment un contrat peut-il être conçu comme tel ?

Nov 08,2025 at 02:19pm

Comprendre les machines à états dans le contexte de la blockchain 1. Une machine à états est un modèle informatique utilisé pour concevoir des système...

Comment fonctionne une courbe de liaison et comment est-elle utilisée pour les ventes de jetons ?

Comment fonctionne une courbe de liaison et comment est-elle utilisée pour les ventes de jetons ?

Nov 09,2025 at 04:00pm

Comprendre la mécanique des courbes de liaison 1. Une courbe de liaison est une fonction mathématique qui relie le prix d'un jeton à son offre. À ...

Comment mettre à niveau un contrat intelligent à l'aide du modèle de proxy UUPS ?

Comment mettre à niveau un contrat intelligent à l'aide du modèle de proxy UUPS ?

Nov 09,2025 at 01:19am

Comprendre le modèle de proxy UUPS dans le développement de contrats intelligents Le modèle UUPS (Universal Upgradeable Proxy Standard) est devenu la ...

Comment fonctionne un système de vote en chaîne dans un DAO ?

Comment fonctionne un système de vote en chaîne dans un DAO ?

Nov 09,2025 at 04:20pm

Comprendre le vote en chaîne dans les DAO 1. Un système de vote en chaîne fonctionne directement sur un réseau blockchain, permettant aux détenteurs d...

Comment gérez-vous les mathématiques à virgule fixe et les décimales dans Solidity ?

Comment gérez-vous les mathématiques à virgule fixe et les décimales dans Solidity ?

Nov 08,2025 at 11:40pm

Comprendre l'arithmétique à virgule fixe dans Solidity 1. Solidity ne prend pas en charge nativement les nombres à virgule flottante, ce qui signi...

Comment envoyer de l’Ether en toute sécurité vers un autre contrat ?

Comment envoyer de l’Ether en toute sécurité vers un autre contrat ?

Nov 09,2025 at 06:40pm

Envoi d'Ether vers des contrats intelligents : considérations clés 1. Vérifiez que le contrat destinataire dispose d'une fonction de secours p...

Qu’est-ce qu’une machine à états et comment un contrat peut-il être conçu comme tel ?

Qu’est-ce qu’une machine à états et comment un contrat peut-il être conçu comme tel ?

Nov 08,2025 at 02:19pm

Comprendre les machines à états dans le contexte de la blockchain 1. Une machine à états est un modèle informatique utilisé pour concevoir des système...

Comment fonctionne une courbe de liaison et comment est-elle utilisée pour les ventes de jetons ?

Comment fonctionne une courbe de liaison et comment est-elle utilisée pour les ventes de jetons ?

Nov 09,2025 at 04:00pm

Comprendre la mécanique des courbes de liaison 1. Une courbe de liaison est une fonction mathématique qui relie le prix d'un jeton à son offre. À ...

Comment mettre à niveau un contrat intelligent à l'aide du modèle de proxy UUPS ?

Comment mettre à niveau un contrat intelligent à l'aide du modèle de proxy UUPS ?

Nov 09,2025 at 01:19am

Comprendre le modèle de proxy UUPS dans le développement de contrats intelligents Le modèle UUPS (Universal Upgradeable Proxy Standard) est devenu la ...

Comment fonctionne un système de vote en chaîne dans un DAO ?

Comment fonctionne un système de vote en chaîne dans un DAO ?

Nov 09,2025 at 04:20pm

Comprendre le vote en chaîne dans les DAO 1. Un système de vote en chaîne fonctionne directement sur un réseau blockchain, permettant aux détenteurs d...

Comment gérez-vous les mathématiques à virgule fixe et les décimales dans Solidity ?

Comment gérez-vous les mathématiques à virgule fixe et les décimales dans Solidity ?

Nov 08,2025 at 11:40pm

Comprendre l'arithmétique à virgule fixe dans Solidity 1. Solidity ne prend pas en charge nativement les nombres à virgule flottante, ce qui signi...

Voir tous les articles

User not found or password invalid

Your input is correct