Guide de développement Solidity ne faisant pas autorité (1) : panorama de bout en bout

Comme premier article de la nouvelle fosse, commençons par comprendre le processus de développement complet de bout en bout du projet de solidité.

Adhérant au principe cohérent de la série "Guide de développement ne faisant pas autorité", cette série n'enchevêtrera pas les détails grammaticaux de la solidité. Tout le contenu provient de la pratique et sert le travail réel, sans dire de bêtises. C'est pourquoi je pense personnellement qu'il est plus pertinent de présenter l'ensemble du processus de développement dans le premier article, cela vous aidera à comprendre ce qu'est un travail typique de développement de contrat, afin d'établir rapidement un concept global.

Le soi-disant bout en bout fait en fait référence au contenu de travail suivant :

  • création de projet
  • Le cycle développer-tester-optimiser
  • déploiement de contrat
  • vérification du contrat

Ce qui précède est ce qu'implique un projet de contrat typique. Voyons comment compléter chaque étape.

création de projet

Pour le développement de logiciels, les outils sont prioritaires et les projets contractuels ne font pas exception. Pour les projets de solidité, nous choisissons  hardhat. Étapes pour créer un projet :

  1. Créez un répertoire de projet.
  2. Une fois dans le répertoire, lancez : npx hardhat.

Un assistant de ligne de commande apparaîtra à ce stade, il est recommandé de sélectionner directement : Create an advanced sample project that uses TypeScript.

Bien qu'il puisse contenir un tas de choses, il a un énorme avantage : des étagères avec des éléments typiques, déjà configurés, ne nécessitant que des modifications et des ajustements pour la plupart des tâches. Pour les débutants, le seuil peut être considérablement abaissé et l'énergie peut être concentrée sur le développement de contrats au lieu de lancer diverses configurations. Même pour les vétérans, commencer ici peut économiser beaucoup d'efforts.

Bien sûr, une autre méthode consiste à rechercher divers modèles préconfigurés à partir de github, et directement fork + clone.

Le cycle développer-tester-optimiser

Après avoir créé le projet selon les étapes ci-dessus, vous devriez avoir :

  • un modèle de contrat
  • un exemple d'épreuve
  • Un exemple de script de configuration

Vous voudrez peut-être jeter un coup d'œil rapide à leur contenu et au répertoire où ils se trouvent, afin de savoir ce qu'ils sont. Le développement quotidien que vous devez faire consiste à créer les fichiers correspondants dans le répertoire correspondant, puis à exécuter les commandes appropriées. Étant donné que le contrat et le code de test ont déjà des exemples dans le projet, je ne répéterai pas un "hello world" ici.

La commande pour lancer les tests est simple : npx hardhat test.

Lorsque le développement du contrat est terminé et a réussi le test, l'objectif suivant est : l'optimisation. "Optimisation" elle-même a de nombreuses significations, telles que l'algorithme d'optimisation, mais l'optimisation se réfère ici spécifiquement à : l'optimisation du gaz.

Pour toute optimisation, la première étape consiste à « mesurer », ici cela signifie : obtenir le « bilan gaz » de la méthode contractuelle :

  1. npm install hardhat-gas-reporter --save-dev
  2. Après l'installation, il sera  hardhat.config.ts importé automatiquement.
  3. Configuration  .env.env.example renommez le fichier d'exemple), ajoutez une ligne : REPORT_GAS=on.
  4. courir  npx hardhat test.

De cette façon, une fois le test terminé, il imprimera toutes les méthodes de contrat consommées  gas report. En fonction de cela, vous pouvez commencer votre parcours d'optimisation.

Notez que hardhat-gas-reporter le réseau externe sera connecté. Si vous pensez qu'il ralentit la vitesse du test, vous pouvez  .env le désactiver dans .

déploiement de contrat

Après le développement et l'optimisation, la prochaine étape est le déploiement :

  1. Modifiez  .env(encore une fois,  .env.example résultant du changement de nom) la valeur par défaut  rpc url et  private key.
  2. hardhat.config.ts Modifiez les paramètres dans  si nécessaire  networks .
  3. Modifiez si nécessaire  scripts/deploy.ts.
  4. Exécutez la commande de déploiement, exemple : npx hardhat run --network rinkeby scripts/deploy.ts, assurez-vous qu'il y a une configuration réseau dans le fichier de configuration  rinkeby.

Configuré à d'autres chaînes (comme mumbai), rien de plus que :

  1. Modifier  .env, ajouter en conséquence  rpc url.
  2. Modifiez  les paramètres hardhat.config.ts du  processus networks , ajoutez les paramètres réseau correspondants, puis exécutez  deploy.ts -le.

vérification du contrat

Le dernier maillon de l'ensemble du processus est la vérification des contrats, qui est relativement peu familière à la plupart des débutants. Mais en termes simples, le rôle de la vérification est :

  1. Un jeton de vérification peut être affiché sur l'onglet Contrat de la page du contrat sur etherscan.

  2. Afficher le code source du contrat.

  3. Les utilisateurs peuvent appeler des contrats directement sur etherscan :

    • Le bouton "Lire le contrat" ​​correspond à la méthode de lecture
    • Le bouton "Rédiger le contrat" ​​correspond au mode de rédaction

De manière générale, cette étape est requise pour les projets de contrat formel. Étapes de vérification :

  1. npm install --save-dev @nomiclabs/hardhat-etherscan
  2. De plus, après l'installation, il sera automatiquement importé dans le fichier de configuration.
  3. .env en cours  de révision ETHERSCAN_API_KEY
  4. Exécutez  verify la commande, exemple : npx hardhat verify --network rinkeby 合约地址 "参数".

Une fois terminé, entrez etherscan pour voir l'effet

lien de référence

  • casque
  • casque-gaz-journaliste

Je suppose que tu aimes

Origine blog.csdn.net/smartContractXH/article/details/128202050
conseillé
Classement