Wdrożenie kontraktu Era można obecnie osiągnąć jedynie za pomocą wiersza poleceń, co jest nieco skomplikowane.
Po chwili eksploracji byłem w zasadzie zaznajomiony z sytuacją. Tutaj pomożemy Ci uporządkować cały proces wdrożenia i weryfikacji, a jako przykład weźmiemy wdrożenie najprostszej umowy, aby ułatwić wszystkim rozpoczęcie.
krok:
1. Przygotowanie środowiska
2. Przygotowanie kodeksu umowy
3. Wdróż umowę weryfikacyjną

Ekologiczny, trzyczęściowy zestaw
Aby zainstalować trzyczęściowy zestaw środowiskowy, zapoznaj się z oficjalną dokumentacją firmy Era:
Środowisko komputerowe każdego użytkownika dla Node, NVM i Yarn jest złożone. Jeśli napotkasz błąd, możesz samodzielnie wyszukać go w Google lub zadać pytania ChatGPT:
https://era.zksync.io/docs/dev/building-on-zksync/hello-world.html#prequirements
Inicjalizacja i instalacja SDK
Kontynuuj odwoływanie się do oficjalnej dokumentacji i postępuj w następujący sposób:
1. Utwórz nowy ekskluzywny folder (polecenie mk i cd)
2. Zainicjuj środowisko (polecenie przędza init -y)
3. Zainstaluj SDK i zależności (polecenie dodawania przędzy)

plik konfiguracyjny konfiguracji
Utwórz plik hardhat.config.ts w bieżącym katalogu. Kod, którego używam, jest następujący (możesz go skopiować w całości do ALT obrazka). Uwaga: może być konieczna ponowna instalacja pakietu zksolc (w ten sposób Rozwiązałem błąd podczas kompilacji). Jeśli zmodyfikujesz wersję zksolc, np. przejście na oficjalną zalecaną wersję 1.3.10, również zostanie ona automatycznie pobrana raz.
Tutaj potrzebujesz środowiska wiersza poleceń, aby móc normalnie uzyskać dostęp do sieci zewnętrznej! Na przykład włącz „tryb rozszerzony” Surge

Minimalistyczny inteligentny kontrakt
P: Jak wygląda najprostszy inteligentny kontrakt?
Odpowiedź: Umowa, która zawiera tylko nazwę umowy i nic więcej. Na przykład umowa na zrzucie ekranu definiuje tylko wersję umowy i nazwę umowy, ale w rzeczywistości jest to legalna inteligentna umowa (możesz skopiować kod z obrazka ALT).
Trzy kroki:
1. Utwórz nowy folder kontraktu (wdróż kontrakty mkdir)
2. Edytuj plik umowy (mini.sol)
3. Skompiluj umowę

Skompiluj umowę
Teoretycznie kompilacja powinna być bardzo prosta i wymagać tylko jednego polecenia, aby zrobić zrzut ekranu. Ale w rzeczywistości prawdopodobieństwo zgłoszenia błędu jest tutaj niezwykle wysokie.
W przypadku zgłoszenia błędu możesz sprawdzić w dwóch następujących miejscach:
1. Czy środowisko wiersza poleceń może uzyskać dostęp do sieci zewnętrznej (metoda wykrywania: curl http://google.com)
2. Zainstaluj ponownie zksolc i spróbuj ponownie (https://twitter.com/gm365/status/1644303144518848512…)
Jeśli wszystko pójdzie dobrze, kompilacja zakończy się pomyślnie, jak pokazano na rysunku.





Wdrożenie kontraktu
Aby wdrożyć kontrakt, wykonaj dwa kroki:
1. Utwórz plik Deploy.ts i zmodyfikuj go
2. Komenda `yarn hardhat Deploy-zksync` wdraża kontrakt
Zmodyfikowałem plik Deploy.ts, możesz skopiować kod z ALT. Proszę zwrócić uwagę na dwa miejsca oznaczone na zdjęciu ❗️, które należy zmodyfikować w zależności od sytuacji.
1. Wdróż klucz prywatny portfela EOA umowy.
2. Nazwa kontraktu, którą zdefiniowałeś w poprzednim kroku (tutaj WTF).
Wykonaj polecenie wdrożenia. Jeśli wszystko pójdzie dobrze, po pomyślnym wdrożeniu zobaczysz adres kontraktu za około dziesięć sekund.


Zweryfikuj kod źródłowy umowy
Po zakończeniu wdrożenia możesz także zdecydować się na otwarcie kodu kontraktu, weryfikując go w przeglądarce blockchain.
Po znalezieniu adresu umowy:
1. Wersja Zksolc: Oto 1.3.5 (wybierz zgodnie z aktualnymi ustawieniami)
2. Wersja Solc: To jest 0.8.17 (element ustawień w pliku hardhat.config.ts)
3. Nazwa kontraktu (tutaj WTF)
4. Kod umowy (skopiuj i wklej)

Podsumować
Jeśli wszystko pójdzie dobrze, gratulujemy ukończenia pierwszego wdrożenia inteligentnych kontraktów w łańcuchu Era.
Gdy opanujesz tę podstawową umiejętność, w przyszłości wdrażanie bardziej złożonych kontraktów będzie łatwe.
Ponieważ napisaliśmy najprostszą umowę, koszt wdrożenia tej umowy jest również wyjątkowo niski (na test wydałem tutaj 0,21 USD).
Ponadto, oto kilka zasobów, które mogą być pomocne:
1. Oficjalna dokumentacja: https://era.zksync.io/docs/dev/building-on-zksync/hello-world.html…
2. Samouczek innej firmy: https://mirror.xyz/catpad.eth/X8lq1Qci1qjyW6Fo-e64xJfY-LJZkScGD66AD4vcHmI…
3. Wprowadzenie do wdrażania kontraktów Era, które pisałem wcześniej: https://twitter.com/gm365/status/1644299731236171778…
dygresja
zkSync nie jest w pełni kompatybilny z EVM, a jego różne mechanizmy wdrażania kontraktów uniemożliwiają użycie Remixu i innych metod do bezpośredniego wdrożenia kontraktu na stronie internetowej (ThirdWeb również obecnie nie jest w stanie dokończyć wdrażania, chociaż jest to pokazane na stronie internetowej że można go wdrożyć w Erze na podstawie ich szablonowej umowy, ale w rzeczywistości nie jest to możliwe, dopuścili to tylko w DC).
Mam nadzieję, że zespół zkSync będzie nadal ciężko pracował, aby w przyszłości ułatwić wdrażanie kontraktów.