Смарт-контракты в 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.Настройка среды разработки:
zkSync
иhardhat
пакеты через npm.2.Конфигурация:
Изменитьhardhat.config.js
файл для включения специфических настроек zkSync, таких как URL-адреса сети zkSync и специфические параметры компилятора zkSync.
Пример конфигурации может выглядеть так:
3.Компилировать смарт-контракты:
С помощью фреймворка Hardhat можно компилировать контракты на Solidity. Плагин Hardhat zkSync гарантирует, что компиляция совместима с сетью zkSync.
4.Развертывание смарт-контрактов:
Процесс развертывания включает в себя подключение к провайдеру zkSync, создание экземпляра кошелька и использование его для развертывания контракта. Пример сценария развертывания:
Hardhat - среда разработки и инструмент для выполнения задач для Ethereum, который был расширен для поддержки zkSync. Он позволяет разработчикам компилировать, развертывать, тестировать и отлаживать смарт-контракты на Solidity.
zkSync SDK предоставляет инструменты и библиотеки для взаимодействия с zkSync из среды JavaScript. Он включает в себя утилиты для настройки кошельков, отправки транзакций и взаимодействия со смарт-контрактами, развернутыми на zkSync.
Интерфейс командной строки zkSync (CLI) предлагает функционал для управления проектами zkSync, включая развертывание контрактов и управление счетами.
Remix - это веб- и настольное приложение с открытым исходным кодом, которое помогает писать контракты Solidity прямо из браузера. Он поддерживает zkSync через плагины и конфигурации, которые подключают его к сети zkSync.
Инструменты разработки интегрируются для создания единой среды разработки, тестирования и развертывания смарт-контрактов на zkSync.
Hardhat интегрируется с zkSync SDK, чтобы обеспечить плавный рабочий процесс для разработчиков. Плагины Hardhat для zkSync управляют процессами компиляции и развертывания, в то время как zkSync SDK предоставляет базовую функциональность для взаимодействия с сетью zkSync. Эта комбинация позволяет разработчикам писать сценарии развертывания и тесты, используя знакомые конструкции Hardhat, используя при этом специфичные для zkSync функции.
Разработчики могут писать и тестировать смарт-контракты с помощью Remix, а затем использовать Hardhat для более сложных сценариев развертывания. Скомпилированные артефакты из Remix могут быть легко импортированы в проект Hardhat, что позволяет гибкие рабочие процессы разработки.
Командная строка zkSync может использоваться наряду с Hardhat и SDK zkSync для управления развертыванием и взаимодействия с развернутыми контрактами. Она предоставляет интерфейс командной строки для выполнения общих задач, таких как развертывание контрактов или управление ключами учетной записи, которые могут быть интегрированы в автоматизированные конвейеры развертывания.
Тестовый фреймворк Hardhat может использоваться для написания модульных и интеграционных тестов для смарт-контрактов. Эти тесты могут запускаться на локальном узле zkSync или тестовой сети, чтобы гарантировать, что контракты ведут себя ожидаемым образом. SDK zkSync облегчает взаимодействие с контрактами во время тестирования, обеспечивая полное охват тестирования.
Интегрируя эти инструменты, разработчики могут эффективно писать, тестировать, развертывать и управлять смарт-контрактами на zkSync, используя масштабируемость и экономичность zkRollups, сохраняя при этом привычный опыт разработки. Эта интеграция поддерживает жизненный цикл разработки, начиная с создания первоначального контракта и заканчивая развертыванием и последующим обслуживанием.
Основные моменты
Смарт-контракты в 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.Настройка среды разработки:
zkSync
иhardhat
пакеты через npm.2.Конфигурация:
Изменитьhardhat.config.js
файл для включения специфических настроек zkSync, таких как URL-адреса сети zkSync и специфические параметры компилятора zkSync.
Пример конфигурации может выглядеть так:
3.Компилировать смарт-контракты:
С помощью фреймворка Hardhat можно компилировать контракты на Solidity. Плагин Hardhat zkSync гарантирует, что компиляция совместима с сетью zkSync.
4.Развертывание смарт-контрактов:
Процесс развертывания включает в себя подключение к провайдеру zkSync, создание экземпляра кошелька и использование его для развертывания контракта. Пример сценария развертывания:
Hardhat - среда разработки и инструмент для выполнения задач для Ethereum, который был расширен для поддержки zkSync. Он позволяет разработчикам компилировать, развертывать, тестировать и отлаживать смарт-контракты на Solidity.
zkSync SDK предоставляет инструменты и библиотеки для взаимодействия с zkSync из среды JavaScript. Он включает в себя утилиты для настройки кошельков, отправки транзакций и взаимодействия со смарт-контрактами, развернутыми на zkSync.
Интерфейс командной строки zkSync (CLI) предлагает функционал для управления проектами zkSync, включая развертывание контрактов и управление счетами.
Remix - это веб- и настольное приложение с открытым исходным кодом, которое помогает писать контракты Solidity прямо из браузера. Он поддерживает zkSync через плагины и конфигурации, которые подключают его к сети zkSync.
Инструменты разработки интегрируются для создания единой среды разработки, тестирования и развертывания смарт-контрактов на zkSync.
Hardhat интегрируется с zkSync SDK, чтобы обеспечить плавный рабочий процесс для разработчиков. Плагины Hardhat для zkSync управляют процессами компиляции и развертывания, в то время как zkSync SDK предоставляет базовую функциональность для взаимодействия с сетью zkSync. Эта комбинация позволяет разработчикам писать сценарии развертывания и тесты, используя знакомые конструкции Hardhat, используя при этом специфичные для zkSync функции.
Разработчики могут писать и тестировать смарт-контракты с помощью Remix, а затем использовать Hardhat для более сложных сценариев развертывания. Скомпилированные артефакты из Remix могут быть легко импортированы в проект Hardhat, что позволяет гибкие рабочие процессы разработки.
Командная строка zkSync может использоваться наряду с Hardhat и SDK zkSync для управления развертыванием и взаимодействия с развернутыми контрактами. Она предоставляет интерфейс командной строки для выполнения общих задач, таких как развертывание контрактов или управление ключами учетной записи, которые могут быть интегрированы в автоматизированные конвейеры развертывания.
Тестовый фреймворк Hardhat может использоваться для написания модульных и интеграционных тестов для смарт-контрактов. Эти тесты могут запускаться на локальном узле zkSync или тестовой сети, чтобы гарантировать, что контракты ведут себя ожидаемым образом. SDK zkSync облегчает взаимодействие с контрактами во время тестирования, обеспечивая полное охват тестирования.
Интегрируя эти инструменты, разработчики могут эффективно писать, тестировать, развертывать и управлять смарт-контрактами на zkSync, используя масштабируемость и экономичность zkRollups, сохраняя при этом привычный опыт разработки. Эта интеграция поддерживает жизненный цикл разработки, начиная с создания первоначального контракта и заканчивая развертыванием и последующим обслуживанием.
Основные моменты