Le déploiement du contrat Era ne peut actuellement être réalisé que via la ligne de commande, ce qui est légèrement compliqué.
Après quelques explorations, j'étais fondamentalement familier avec la situation. Ici, nous vous aiderons à trier le processus complet de déploiement et de vérification, et à prendre comme exemple le déploiement du contrat le plus simple pour permettre à tout le monde de démarrer plus facilement.
étape:
1. Préparation de l'environnement
2. Préparation du code du contrat
3. Déployer le contrat de vérification

Ensemble environnemental trois pièces
Reportez-vous à la documentation officielle d'Era pour installer l'ensemble d'environnement en trois parties :
L'environnement informatique de chacun pour Node, NVM et Yarn est complexe. Si vous rencontrez une erreur, vous pouvez la rechercher vous-même ou poser des questions à ChatGPT :
https://era.zksync.io/docs/dev/building-on-zksync/hello-world.html#prerequisites
Initialisation et installation du SDK
Continuez à vous référer à la documentation officielle et procédez comme suit :
1. Créez un nouveau dossier exclusif (commande mk & cd)
2. Initialisez l'environnement (commande yarn init -y)
3. Installez le SDK et les dépendances (commande Yarn Add)

fichier de configuration
Créez le fichier hardhat.config.ts dans le répertoire courant. Le code que j'utilise est le suivant (vous pouvez le copier entièrement dans l'ALT de l'image) Remarque : vous devrez peut-être installer le package zksolc une nouvelle fois (c'est ainsi que J'ai résolu l'erreur lors de la compilation). Si vous modifiez la version de zksolc, par exemple en passant à la version officielle recommandée 1.3.10, elle sera également automatiquement téléchargée une fois.
Ici, vous avez besoin de votre environnement de ligne de commande pour pouvoir accéder normalement au réseau externe ! Par exemple, activez le « mode amélioré » de Surge

Contrat intelligent minimaliste
Q : À quoi ressemble le contrat intelligent le plus simple ?
Réponse : Un contrat qui ne contient que le nom du contrat et rien d'autre. Par exemple, le contrat dans la capture d'écran ne définit que la version du contrat et le nom du contrat, mais il s'agit bien d'un contrat intelligent légal (vous pouvez copier le code de l'image ALT).
Trois étapes :
1. Créez un nouveau dossier de contrat (déploiement des contrats mkdir)
2. Editez le fichier du contrat (mini.sol)
3. Compiler le contrat

Compiler le contrat
En théorie, la compilation devrait être très simple, ne nécessitant qu'une seule commande pour prendre une capture d'écran. Mais en fait, la probabilité que des erreurs soient signalées ici est extrêmement élevée.
Si une erreur est signalée, vous pouvez vérifier les deux endroits suivants :
1. Si l'environnement de ligne de commande peut accéder au réseau externe (méthode de détection : curl http://google.com)
2. Réinstallez zksolc et réessayez (https://twitter.com/gm365/status/1644303144518848512…)
Si tout se passe bien, la compilation réussit comme le montre la figure.





Contrat de déploiement
Il y a deux étapes pour déployer un contrat :
1. Créez le fichier déployer/deploy.ts et modifiez-le
2. La commande `yarn hardhat déployer-zksync` déploie le contrat
J'ai modifié le fichier déployer.ts, vous pouvez copier le code depuis ALT. Attention aux deux endroits marqués d'un ❗️ sur la photo, qu'il vous faudra modifier en fonction de la situation.
1. Déployez la clé privée du portefeuille EOA du contrat.
2. Le nom du contrat que vous avez défini à l'étape précédente (WTF ici).
Exécutez la commande de déploiement. Si tout se passe bien, vous verrez l'adresse du contrat après un déploiement réussi dans une dizaine de secondes.


Vérifier le code source du contrat
Une fois le déploiement terminé, vous pouvez également choisir d'ouvrir le code de votre contrat en le vérifiant dans le navigateur blockchain.
Après avoir trouvé votre adresse contractuelle :
1. Version Zksolc : Voici la 1.3.5 (à sélectionner en fonction de vos paramètres actuels)
2. Version Solc : il s'agit de la 0.8.17 (élément de paramètre dans le fichier hardhat.config.ts)
3. Nom du contrat (WTF ici)
4. Code du contrat (copier-coller)

Résumer
Si tout se passe bien, félicitations pour avoir terminé votre premier déploiement de contrat intelligent sur la chaîne Era.
Une fois que vous aurez acquis cette compétence de base, il sera facile de déployer des contrats plus complexes à l’avenir.
Puisque nous avons rédigé le contrat le plus simple, le coût de déploiement de ce contrat est également extrêmement faible (j'ai dépensé 0,21 $ pour le test ici).
De plus, voici quelques ressources qui peuvent être utiles :
1. Documentation officielle : https://era.zksync.io/docs/dev/building-on-zksync/hello-world.html…
2. Tutoriel tiers : https://mirror.xyz/catpad.eth/X8lq1Qci1qjyW6Fo-e64xJfY-LJZkScGD66AD4vcHmI…
3. Une introduction au déploiement du contrat Era que j'ai déjà écrite : https://twitter.com/gm365/status/1644299731236171778…
digression
zkSync n'est pas entièrement compatible EVM, et ses différents mécanismes de déploiement de contrats rendent impossible l'utilisation de Remix et d'autres méthodes pour exploiter directement le contrat de déploiement sur la page Web (ThirdWeb est également actuellement incapable de terminer le déploiement, bien que cela soit indiqué sur le site Web qu'il peut être déployé sur Era via leur modèle de contrat. Mais ce n'est pas réellement possible, ils ne l'ont admis qu'à DC).
J'espère que l'équipe zkSync continuera à travailler dur pour faciliter le déploiement des contrats à l'avenir.