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 :
- Créez un répertoire de projet.
- 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 :
npm install hardhat-gas-reporter --save-dev
- Après l'installation, il sera
hardhat.config.ts
importé automatiquement. - Configuration
.env
(.env.example
renommez le fichier d'exemple), ajoutez une ligne :REPORT_GAS=on
. - 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 :
- Modifiez
.env
(encore une fois,.env.example
résultant du changement de nom) la valeur par défautrpc url
etprivate key
. hardhat.config.ts
Modifiez les paramètres dans si nécessairenetworks
.- Modifiez si nécessaire
scripts/deploy.ts
. - 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 configurationrinkeby
.
Configuré à d'autres chaînes (comme mumbai), rien de plus que :
- Modifier
.env
, ajouter en conséquencerpc url
. - Modifiez les paramètres
hardhat.config.ts
du processusnetworks
, ajoutez les paramètres réseau correspondants, puis exécutezdeploy.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 :
-
Un jeton de vérification peut être affiché sur l'onglet Contrat de la page du contrat sur etherscan.
-
Afficher le code source du contrat.
-
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 :
npm install --save-dev @nomiclabs/hardhat-etherscan
- De plus, après l'installation, il sera automatiquement importé dans le fichier de configuration.
.env
en cours de révisionETHERSCAN_API_KEY
- 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