Развертывание контракта Эры в настоящее время может быть достигнуто только через командную строку, что немного сложно.

После некоторого исследования я в принципе был знаком с ситуацией. Здесь мы поможем вам разобраться в полном процессе развертывания и проверки, а также возьмем в качестве примера развертывание простейшего контракта, чтобы каждому было проще начать работу.

шаг:

1. Подготовка среды

2. Подготовка кода контракта

3. Развертывание контракта проверки

Экологический набор из трех предметов

Обратитесь к официальной документации Era, чтобы установить набор из трех частей:

Компьютерная среда каждого человека для Node, NVM и Yarn сложна. Если вы столкнулись с ошибкой, вы можете загуглить ее самостоятельно или задать вопросы в ChatGPT:

https://era.zksync.io/docs/dev/building-on-zksync/hello-world.html#preреквизиты

Инициализация и установка SDK

Продолжайте обращаться к официальной документации и действуйте следующим образом:

1. Создайте новую эксклюзивную папку (команда mk и cd)

2. Инициализируйте среду (команда Yarn init -y)

3. Установите SDK и зависимости (команда Yarn Add)

файл конфигурации конфигурации

Создайте файл hardhat.config.ts в текущем каталоге. Я использую следующий код (вы можете полностью скопировать его в ALT-изображении). Примечание. Возможно, вам придется установить пакет zksolc еще раз (именно так). Я исправил ошибку при компиляции). Если вы измените версию zksolc, например, изменив ее на официальную рекомендуемую версию 1.3.10, она также будет автоматически загружена один раз.

Здесь вам нужна среда командной строки, чтобы иметь возможность нормального доступа к внешней сети! Например, включите «расширенный режим» Surge.

Минималистичный смарт-контракт

Вопрос: Как выглядит самый простой смарт-контракт?

Ответ: Контракт, который содержит только имя контракта и ничего больше. Например, контракт на скриншоте определяет только версию контракта и имя контракта, но это действительно легальный смарт-контракт (вы можете скопировать код с картинки ALT).

Три шага:

1. Создайте новую папку контрактов (развертывание контрактов mkdir).

2. Отредактируйте файл контракта (mini.sol).

3. Составьте договор

Составить договор

Теоретически компиляция должна быть очень простой: для создания снимка экрана потребуется всего одна команда. Но на самом деле вероятность сообщения об ошибке здесь чрезвычайно высока.

Если сообщается об ошибке, вы можете проверить следующие два места:

1. Может ли среда командной строки получить доступ к внешней сети (метод определения: curl http://google.com)

2. Переустановите zksolc и повторите попытку (https://twitter.com/gm365/status/1644303144518848512…)

Если все прошло успешно, компиляция прошла успешно, как показано на рисунке.

Развертывание контракта

Развертывание контракта состоит из двух шагов:

1. Создайте файл Deploy/deploy.ts и измените его.

2. Команда Yarn Hardhat Deploy-zksync развертывает контракт.

Я изменил файл Deploy.ts, вы можете скопировать код из ALT. Обратите внимание на два места, отмеченные ❗️ на картинке, которые вам нужно изменить в зависимости от ситуации.

1. Разверните закрытый ключ контракта кошелька EOA.

2. Имя контракта, которое вы определили на предыдущем шаге (здесь WTF).

Выполните команду развертывания. Если все пройдет хорошо, вы увидите адрес контракта после успешного развертывания примерно через десять секунд.

Проверьте исходный код контракта

После завершения развертывания вы также можете открыть исходный код своего контракта, проверив его в браузере блокчейна.

Найдя адрес вашего контракта:

1. Версия Zksolc: Вот 1.3.5 (выберите в соответствии с вашими реальными настройками)

2. Версия Solc: это 0.8.17 (элемент настройки в файле hardhat.config.ts)

3. Название контракта (здесь WTF)

4. Код контракта (скопировать и вставить)

Подведем итог

Если все пойдет хорошо, поздравляем с завершением вашего первого развертывания смарт-контракта в цепочке Era.

Как только вы освоите этот базовый навык, в будущем вам будет легко развертывать более сложные контракты.

Поскольку мы написали самый простой контракт, стоимость развертывания этого контракта также крайне мала (на тест я потратил здесь $0,21).

Кроме того, вот некоторые ресурсы, которые могут быть полезны:

1. Официальная документация: https://era.zksync.io/docs/dev/building-on-zksync/hello-world.html…

2. Стороннее руководство: https://mirror.xyz/catpad.eth/X8lq1Qci1qjyW6Fo-e64xJfY-LJZkScGD66AD4vcHmI…

3. Введение в развертывание контрактов Era, которое я написал ранее: https://twitter.com/gm365/status/1644299731236171778…

отступление

zkSync не полностью совместим с EVM, а его различные механизмы развертывания контрактов делают невозможным использование Remix и других методов для непосредственного управления контрактом развертывания на веб-странице (ThirdWeb в настоящее время также не может завершить развертывание, хотя это показано на веб-странице). веб-сайте, что его можно развернуть на Era через их шаблонный контракт. Но на самом деле это невозможно, они признали это только в Вашингтоне).

Я надеюсь, что команда zkSync продолжит усердно работать над упрощением развертывания контрактов в будущем.