レッスン4

Смарт-контракт

Этот модуль предоставляет подробный технический обзор zkSync, с акцентом на написание и развертывание смарт-контрактов, использование zkSync CLI и SDK, а также интеграцию zkSync с существующими средами разработки.

Смарт-контракты в zkSync работают аналогично тем, что на Ethereum, но с улучшенной масштабируемостью и эффективностью благодаря базовой технологии zkRollup. zkSync использует доказательства нулевого разглашения для обеспечения безопасности и отсутствия доверия при обработке транзакций вне цепи.

Краткие неинтерактивные аргументы знаний с нулевым разглашением (zk-SNARKs) используются для проверки правильности вычислений вне сети. В zkSync zk-SNARK гарантируют, что все транзакции и исполнения смарт-контрактов действительны без необходимости выполнять вычисления в основной сети Ethereum. Это снижает вычислительную нагрузку и плату за попутный газ, обеспечивая более высокую пропускную способность.

zkSync Era, последняя версия, полностью совместима с виртуальной машиной Ethereum (EVM). Это означает, что большинство смарт-контрактов, написанных для Ethereum, могут быть развернуты на zkSync с незначительными или без каких-либо изменений. Совместимость с EVM гарантирует, что разработчики могут использовать привычные инструменты и языки (такие как Solidity) для написания и развертывания своих контрактов.

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

Написание и развертывание смарт-контрактов

Смарт-контракты для zkSync написаны на Solidity, том же языке, который используется для смарт-контрактов Ethereum. Разработчики могут использовать тот же синтаксис и логические структуры, к которым они привыкли, что делает переход на zkSync очень простым.

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

1.Настройка среды разработки:

  • Установите Node.js и npm (Node Package Manager).
  • УстановитьzkSyncиhardhatпакеты через npm.
  • Инициализируйте новый проект Hardhat и настройте его для работы с zkSync.

2.Конфигурация:

Изменитьhardhat.config.jsфайл для включения специфических настроек zkSync, таких как URL-адреса сети zkSync и специфические параметры компилятора zkSync.

Пример конфигурации может выглядеть так:

3.Компилировать смарт-контракты:

С помощью фреймворка Hardhat можно компилировать контракты на Solidity. Плагин Hardhat zkSync гарантирует, что компиляция совместима с сетью zkSync.

4.Развертывание смарт-контрактов:

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

Доступны инструменты разработки

Каска

Hardhat - среда разработки и инструмент для выполнения задач для Ethereum, который был расширен для поддержки zkSync. Он позволяет разработчикам компилировать, развертывать, тестировать и отлаживать смарт-контракты на Solidity.

zkSync SDK

zkSync SDK предоставляет инструменты и библиотеки для взаимодействия с zkSync из среды JavaScript. Он включает в себя утилиты для настройки кошельков, отправки транзакций и взаимодействия со смарт-контрактами, развернутыми на zkSync.

zkSync CLI

Интерфейс командной строки zkSync (CLI) предлагает функционал для управления проектами zkSync, включая развертывание контрактов и управление счетами.

Интегрированная среда разработки ремиксов

Remix - это веб- и настольное приложение с открытым исходным кодом, которое помогает писать контракты Solidity прямо из браузера. Он поддерживает zkSync через плагины и конфигурации, которые подключают его к сети zkSync.

Интеграция

Инструменты разработки интегрируются для создания единой среды разработки, тестирования и развертывания смарт-контрактов на zkSync.

Hardhat и zkSync SDK

Hardhat интегрируется с zkSync SDK, чтобы обеспечить плавный рабочий процесс для разработчиков. Плагины Hardhat для zkSync управляют процессами компиляции и развертывания, в то время как zkSync SDK предоставляет базовую функциональность для взаимодействия с сетью zkSync. Эта комбинация позволяет разработчикам писать сценарии развертывания и тесты, используя знакомые конструкции Hardhat, используя при этом специфичные для zkSync функции.

Hardhat и Remix

Разработчики могут писать и тестировать смарт-контракты с помощью Remix, а затем использовать Hardhat для более сложных сценариев развертывания. Скомпилированные артефакты из Remix могут быть легко импортированы в проект Hardhat, что позволяет гибкие рабочие процессы разработки.

zkSync CLI

Командная строка zkSync может использоваться наряду с Hardhat и SDK zkSync для управления развертыванием и взаимодействия с развернутыми контрактами. Она предоставляет интерфейс командной строки для выполнения общих задач, таких как развертывание контрактов или управление ключами учетной записи, которые могут быть интегрированы в автоматизированные конвейеры развертывания.

Тестирование и отладка

Тестовый фреймворк Hardhat может использоваться для написания модульных и интеграционных тестов для смарт-контрактов. Эти тесты могут запускаться на локальном узле zkSync или тестовой сети, чтобы гарантировать, что контракты ведут себя ожидаемым образом. SDK zkSync облегчает взаимодействие с контрактами во время тестирования, обеспечивая полное охват тестирования.

Интегрируя эти инструменты, разработчики могут эффективно писать, тестировать, развертывать и управлять смарт-контрактами на zkSync, используя масштабируемость и экономичность zkRollups, сохраняя при этом привычный опыт разработки. Эта интеграция поддерживает жизненный цикл разработки, начиная с создания первоначального контракта и заканчивая развертыванием и последующим обслуживанием.

Основные моменты

  • Написание и развертывание смарт-контрактов на zkSync включает использование Solidity и Vyper, с компиляцией через специальные компиляторы zkSync.
  • zkSync CLI и SDK предоставляют комплексные инструменты для настройки проекта, компиляции контрактов, развертывания и взаимодействия.
  • Интеграция с такими инструментами разработки, как Hardhat, Foundry, Remix и Atlas, расширяет возможности разработчика.
  • Соблюдение bew practices обеспечивает безопасную и эффективную разработку смарт-контрактов на zkSync.
免責事項
* 暗号資産投資には重大なリスクが伴います。注意して進めてください。このコースは投資アドバイスを目的としたものではありません。
※ このコースはGate Learnに参加しているメンバーが作成したものです。作成者が共有した意見はGate Learnを代表するものではありません。
カタログ
レッスン4

Смарт-контракт

Этот модуль предоставляет подробный технический обзор zkSync, с акцентом на написание и развертывание смарт-контрактов, использование zkSync CLI и SDK, а также интеграцию zkSync с существующими средами разработки.

Смарт-контракты в zkSync работают аналогично тем, что на Ethereum, но с улучшенной масштабируемостью и эффективностью благодаря базовой технологии zkRollup. zkSync использует доказательства нулевого разглашения для обеспечения безопасности и отсутствия доверия при обработке транзакций вне цепи.

Краткие неинтерактивные аргументы знаний с нулевым разглашением (zk-SNARKs) используются для проверки правильности вычислений вне сети. В zkSync zk-SNARK гарантируют, что все транзакции и исполнения смарт-контрактов действительны без необходимости выполнять вычисления в основной сети Ethereum. Это снижает вычислительную нагрузку и плату за попутный газ, обеспечивая более высокую пропускную способность.

zkSync Era, последняя версия, полностью совместима с виртуальной машиной Ethereum (EVM). Это означает, что большинство смарт-контрактов, написанных для Ethereum, могут быть развернуты на zkSync с незначительными или без каких-либо изменений. Совместимость с EVM гарантирует, что разработчики могут использовать привычные инструменты и языки (такие как Solidity) для написания и развертывания своих контрактов.

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

Написание и развертывание смарт-контрактов

Смарт-контракты для zkSync написаны на Solidity, том же языке, который используется для смарт-контрактов Ethereum. Разработчики могут использовать тот же синтаксис и логические структуры, к которым они привыкли, что делает переход на zkSync очень простым.

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

1.Настройка среды разработки:

  • Установите Node.js и npm (Node Package Manager).
  • УстановитьzkSyncиhardhatпакеты через npm.
  • Инициализируйте новый проект Hardhat и настройте его для работы с zkSync.

2.Конфигурация:

Изменитьhardhat.config.jsфайл для включения специфических настроек zkSync, таких как URL-адреса сети zkSync и специфические параметры компилятора zkSync.

Пример конфигурации может выглядеть так:

3.Компилировать смарт-контракты:

С помощью фреймворка Hardhat можно компилировать контракты на Solidity. Плагин Hardhat zkSync гарантирует, что компиляция совместима с сетью zkSync.

4.Развертывание смарт-контрактов:

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

Доступны инструменты разработки

Каска

Hardhat - среда разработки и инструмент для выполнения задач для Ethereum, который был расширен для поддержки zkSync. Он позволяет разработчикам компилировать, развертывать, тестировать и отлаживать смарт-контракты на Solidity.

zkSync SDK

zkSync SDK предоставляет инструменты и библиотеки для взаимодействия с zkSync из среды JavaScript. Он включает в себя утилиты для настройки кошельков, отправки транзакций и взаимодействия со смарт-контрактами, развернутыми на zkSync.

zkSync CLI

Интерфейс командной строки zkSync (CLI) предлагает функционал для управления проектами zkSync, включая развертывание контрактов и управление счетами.

Интегрированная среда разработки ремиксов

Remix - это веб- и настольное приложение с открытым исходным кодом, которое помогает писать контракты Solidity прямо из браузера. Он поддерживает zkSync через плагины и конфигурации, которые подключают его к сети zkSync.

Интеграция

Инструменты разработки интегрируются для создания единой среды разработки, тестирования и развертывания смарт-контрактов на zkSync.

Hardhat и zkSync SDK

Hardhat интегрируется с zkSync SDK, чтобы обеспечить плавный рабочий процесс для разработчиков. Плагины Hardhat для zkSync управляют процессами компиляции и развертывания, в то время как zkSync SDK предоставляет базовую функциональность для взаимодействия с сетью zkSync. Эта комбинация позволяет разработчикам писать сценарии развертывания и тесты, используя знакомые конструкции Hardhat, используя при этом специфичные для zkSync функции.

Hardhat и Remix

Разработчики могут писать и тестировать смарт-контракты с помощью Remix, а затем использовать Hardhat для более сложных сценариев развертывания. Скомпилированные артефакты из Remix могут быть легко импортированы в проект Hardhat, что позволяет гибкие рабочие процессы разработки.

zkSync CLI

Командная строка zkSync может использоваться наряду с Hardhat и SDK zkSync для управления развертыванием и взаимодействия с развернутыми контрактами. Она предоставляет интерфейс командной строки для выполнения общих задач, таких как развертывание контрактов или управление ключами учетной записи, которые могут быть интегрированы в автоматизированные конвейеры развертывания.

Тестирование и отладка

Тестовый фреймворк Hardhat может использоваться для написания модульных и интеграционных тестов для смарт-контрактов. Эти тесты могут запускаться на локальном узле zkSync или тестовой сети, чтобы гарантировать, что контракты ведут себя ожидаемым образом. SDK zkSync облегчает взаимодействие с контрактами во время тестирования, обеспечивая полное охват тестирования.

Интегрируя эти инструменты, разработчики могут эффективно писать, тестировать, развертывать и управлять смарт-контрактами на zkSync, используя масштабируемость и экономичность zkRollups, сохраняя при этом привычный опыт разработки. Эта интеграция поддерживает жизненный цикл разработки, начиная с создания первоначального контракта и заканчивая развертыванием и последующим обслуживанием.

Основные моменты

  • Написание и развертывание смарт-контрактов на zkSync включает использование Solidity и Vyper, с компиляцией через специальные компиляторы zkSync.
  • zkSync CLI и SDK предоставляют комплексные инструменты для настройки проекта, компиляции контрактов, развертывания и взаимодействия.
  • Интеграция с такими инструментами разработки, как Hardhat, Foundry, Remix и Atlas, расширяет возможности разработчика.
  • Соблюдение bew practices обеспечивает безопасную и эффективную разработку смарт-контрактов на zkSync.
免責事項
* 暗号資産投資には重大なリスクが伴います。注意して進めてください。このコースは投資アドバイスを目的としたものではありません。
※ このコースはGate Learnに参加しているメンバーが作成したものです。作成者が共有した意見はGate Learnを代表するものではありません。