Era līguma izvietošanu pašlaik var panākt tikai ar komandrindas palīdzību, kas ir nedaudz sarežģīta.
Pēc nelielas izpētes es būtībā biju iepazinies ar situāciju. Šeit mēs palīdzēsim jums sakārtot visu izvietošanas un verifikācijas procesu un kā piemēru ņemt vienkāršākā līguma izvietošanu, lai ikvienam būtu vieglāk sākt darbu.
solis:
1. Vides sagatavošana
2. Līguma koda sagatavošana
3. Izvietojiet pārbaudes līgumu

Videi draudzīgs trīsdaļīgs komplekts
Skatiet Era oficiālo dokumentāciju, lai instalētu trīsdaļīgo vides komplektu:
Ikviena datora vide, kas paredzēta Node, NVM un Yarn, ir sarežģīta. Ja rodas kļūda, varat pats to Google tīklā vai uzdot ChatGPT jautājumus:
https://era.zksync.io/docs/dev/building-on-zksync/hello-world.html#prerequisites
Inicializācija un SDK instalēšana
Turpiniet atsaukties uz oficiālo dokumentāciju un rīkojieties šādi:
1. Izveidojiet jaunu ekskluzīvu mapi (mk un cd komanda)
2. Inicializējiet vidi (komanda yarn init -y)
3. Instalējiet SDK un atkarības (komanda yarn add)

konfigurācijas konfigurācijas fails
Pašreizējā direktorijā izveidojiet failu hardhat.config.ts. Kods, ko izmantoju, ir šāds (to var pilnībā kopēt attēla ALT) Piezīme. Iespējams, jums būs jāinstalē zksolc pakotne vēl vienu reizi (šādā veidā). Es atrisināju kļūdu, veicot kompilēšanu).
Šeit jums ir nepieciešama komandrindas vide, lai varētu normāli piekļūt ārējam tīklam! Piemēram, ieslēdziet Surge “uzlaboto režīmu”

Minimālisma viedais līgums
J: Kā izskatās vienkāršākais viedais līgums?
Atbilde: Līgums, kurā ir tikai līguma nosaukums un nekas cits. Piemēram, līgums ekrānuzņēmumā nosaka tikai līguma versiju un līguma nosaukumu, taču tas patiešām ir juridisks viedlīgums (jūs varat nokopēt kodu no attēla ALT).
Trīs soļi:
1. Izveidojiet jaunu līguma mapi (mkdir contracts deploy)
2. Rediģējiet līguma failu (mini.sol)
3. Sastādiet līgumu

Sastādīt līgumu
Teorētiski kompilācijai vajadzētu būt ļoti vienkāršai, un ekrānuzņēmuma uzņemšanai ir nepieciešama tikai viena komanda. Bet patiesībā kļūdu ziņošanas iespējamība šeit ir ārkārtīgi augsta.
Ja tiek ziņots par kļūdu, varat pārbaudīt šādas divas vietas:
1. Vai komandrindas vide var piekļūt ārējam tīklam (atklāšanas metode: curl http://google.com)
2. Pārinstalējiet zksolc un mēģiniet vēlreiz (https://twitter.com/gm365/status/1644303144518848512…)
Ja viss norit labi, kompilācija ir veiksmīga, kā parādīts attēlā.





Izvietot līgumu
Lai noslēgtu līgumu, ir jāveic divas darbības:
1. Izveidojiet failu deploy/deploy.ts un modificējiet to
2. Komanda 'yarn hardhat deploy-zksync' izvieto līgumu
Esmu modificējis failu deploy.ts, jūs varat kopēt kodu no ALT. Lūdzam ņemt vērā divas ar ❗️ bildē atzīmētās vietas, kuras nepieciešams modificēt atbilstoši situācijai.
1. Izvietojiet līguma EOA maka privāto atslēgu.
2. Līguma nosaukums, ko definējāt iepriekšējā darbībā (WTF šeit).
Izpildiet izvietošanas komandu Ja viss noritēs labi, pēc sekmīgas izvietošanas redzēsiet līguma adresi.


Pārbaudiet līguma avota kodu
Kad izvietošana ir pabeigta, varat arī izvēlēties atvērtā koda līguma kodu, pārbaudot to blokķēdes pārlūkprogrammā.
Pēc līguma adreses atrašanas:
1. Zksolc versija: šeit ir 1.3.5 (atlasiet atbilstoši saviem faktiskajiem iestatījumiem)
2. Solc versija: šī ir 0.8.17 (iestatījuma vienums failā hardhat.config.ts)
3. Līguma nosaukums (WTF šeit)
4. Līguma kods (kopējiet un ielīmējiet)

Apkopojiet
Ja viss norit labi, apsveicam ar pirmā viedā līguma izvietošanas pabeigšanu Era ķēdē.
Kad būsiet apguvis šo pamatprasmi, turpmāk būs viegli izmantot sarežģītākus līgumus.
Tā kā mēs parakstījām visvienkāršāko līgumu, arī šī līguma izvietošanas izmaksas ir ārkārtīgi zemas (šeit es iztērēju 0,21 USD par testu).
Turklāt šeit ir daži resursi, kas var būt noderīgi:
1. Oficiālā dokumentācija: https://era.zksync.io/docs/dev/building-on-zksync/hello-world.html…
2. Trešās puses apmācība: https://mirror.xyz/catpad.eth/X8lq1Qci1qjyW6Fo-e64xJfY-LJZkScGD66AD4vcHmI…
3. Ievads par Era līguma izvietošanu, ko rakstīju iepriekš: https://twitter.com/gm365/status/1644299731236171778…
atkāpe
zkSync nav pilnībā saderīgs ar EVM, un tā dažādie līgumu izvietošanas mehānismi neļauj izmantot Remix un citas metodes, lai tieši izvietotu līgumu tīmekļa lapā (arī ThirdWeb pašlaik nevar pabeigt izvietošanu, lai gan tas ir parādīts vietnē ka to var izvietot Era, izmantojot viņu veidnes līgumu, taču tas faktiski nav iespējams, viņi to atzina tikai DC).
Es ceru, ka zkSync komanda turpinās smagi strādāt, lai atvieglotu līguma izvietošanu nākotnē.