L'implementazione del contratto Era attualmente può essere ottenuta solo tramite la riga di comando, il che è leggermente complicato.
Dopo qualche esplorazione, avevo sostanzialmente familiarità con la situazione. Qui ti aiuteremo a risolvere l'intero processo di implementazione e verifica e prenderemo come esempio l'implementazione del contratto più semplice per rendere più semplice per tutti iniziare.
fare un passo:
1. Preparazione dell'ambiente
2. Preparazione del codice contrattuale
3. Distribuire il contratto di verifica

Set tre pezzi ambientale
Fare riferimento alla documentazione ufficiale di Era per installare il set di tre ambienti:
L'ambiente informatico di tutti per Node, NVM e Yarn è complesso. Se riscontri un errore, puoi cercarlo tu stesso o porre domande a ChatGPT:
https://era.zksync.io/docs/dev/building-on-zksync/hello-world.html#prerequisites
Inizializzazione e installazione dell'SDK
Continuare a fare riferimento alla documentazione ufficiale e procedere come segue:
1. Crea una nuova cartella esclusiva (comando mk & cd)
2. Inizializza l'ambiente (comando Yarn init -y)
3. Installa SDK e dipendenze (comando Yarn Add)

file di configurazione config
Crea il file hardhat.config.ts nella directory corrente Il codice che utilizzo è il seguente (puoi copiarlo completamente nell'ALT dell'immagine) Nota: potrebbe essere necessario installare il pacchetto zksolc ancora una volta (ecco come. Ho risolto l'errore durante la compilazione). Se modifichi la versione zksolc, ad esempio passando alla versione ufficiale consigliata 1.3.10, verrà scaricata automaticamente una volta.
Qui hai bisogno del tuo ambiente a riga di comando per poter accedere normalmente alla rete esterna! Ad esempio, attiva la “modalità avanzata” di Surge

Contratto intelligente minimalista
D: Come si presenta il contratto intelligente più semplice?
Risposta: Un contratto che contiene solo il nome del contratto e nient'altro. Ad esempio, il contratto nello screenshot definisce solo la versione del contratto e il nome del contratto, ma è in effetti uno smart contract legale (puoi copiare il codice dall'immagine ALT)
Tre passaggi:
1. Crea una nuova cartella del contratto (distribuzione dei contratti mkdir)
2. Modifica il file del contratto (mini.sol)
3. Compilare il contratto

Compilare il contratto
In teoria, la compilazione dovrebbe essere molto semplice, richiedendo un solo comando per acquisire uno screenshot. Ma in realtà la probabilità di segnalazione di errori qui è estremamente alta.
Se viene segnalato un errore, puoi controllare i seguenti due posti:
1. Se l'ambiente della riga di comando può accedere alla rete esterna (metodo di rilevamento: curl http://google.com)
2. Reinstalla zksolc e riprova (https://twitter.com/gm365/status/1644303144518848512…)
Se tutto va bene la compilazione è andata a buon fine come mostrato in figura.





Contratto di distribuzione
Sono necessari due passaggi per distribuire un contratto:
1. Crea il file deploy/deploy.ts e modificalo
2. Il comando `yarn hardhat deploy-zksync` distribuisce il contratto
Ho modificato il file deploy.ts, puoi copiare il codice da ALT. Attenzione ai due posti contrassegnati con ❗️ nell'immagine, che è necessario modificare in base alla situazione.
1. Distribuire la chiave privata del portafoglio EOA del contratto.
2. Il nome del contratto definito nel passaggio precedente (WTF qui).
Esegui il comando di distribuzione Se tutto va bene, vedrai l'indirizzo del contratto dopo la distribuzione riuscita in circa dieci secondi.


Verificare il codice sorgente del contratto
Una volta completata la distribuzione, puoi anche scegliere di rendere open source il codice del tuo contratto verificandolo nel browser blockchain.
Dopo aver trovato l'indirizzo del tuo contratto:
1. Versione Zksolc: ecco la 1.3.5 (seleziona in base alle tue impostazioni attuali)
2. Versione Solc: questa è la 0.8.17 (voce di impostazione nel file hardhat.config.ts)
3. Nome del contratto (WTF qui)
4. Codice contratto (copia e incolla)

Riassumere
Se tutto va bene, congratulazioni per aver completato la tua prima implementazione del contratto intelligente sulla catena Era.
Una volta apprese queste competenze di base, sarà facile implementare contratti più complessi in futuro.
Poiché abbiamo scritto il contratto più semplice, anche il costo di implementazione di questo contratto è estremamente basso (ho speso $ 0,21 per il test qui).
Inoltre, ecco alcune risorse che potrebbero essere utili:
1. Documentazione ufficiale: https://era.zksync.io/docs/dev/building-on-zksync/hello-world.html...
2. Tutorial di terze parti: https://mirror.xyz/catpad.eth/X8lq1Qci1qjyW6Fo-e64xJfY-LJZkScGD66AD4vcHmI…
3. Un'introduzione all'implementazione del contratto Era che ho scritto prima: https://twitter.com/gm365/status/1644299731236171778…
digressione
zkSync non è completamente compatibile con EVM e i suoi diversi meccanismi per la distribuzione dei contratti rendono impossibile l'uso di Remix e altri metodi per gestire direttamente il contratto di distribuzione sulla pagina web (anche ThirdWeb attualmente non è in grado di completare la distribuzione, sebbene sia mostrato nella pagina Web). sito web che può essere implementato su Era tramite il loro modello di contratto, ma in realtà non è possibile, lo hanno ammesso solo in DC).
Spero che il team zkSync continui a lavorare sodo per rendere più semplice l'implementazione del contratto in futuro.