Смарт-контракти в zkSync працюють подібно до тих на Ethereum, але з покращеною масштабованістю та ефективністю завдяки базовій технології zkRollup. zkSync використовує докази з нульовим розголосом для забезпечення безпеки та недовіри під час обробки транзакцій поза ланцюжком.
Стислі неінтерактивні аргументи знань з нульовим розголошенням (zk-SNARKs) використовуються для перевірки правильності обчислень поза мережею. У zkSync zk-SNARK гарантують, що всі транзакції та виконання смарт-контрактів є дійсними без необхідності виконувати обчислення в основній мережі Ethereum. Це зменшує обчислювальне навантаження та пов'язану з цим плату за газ, що забезпечує більшу пропускну здатність.
zkSync Era, остання ітерація, повністю сумісна з віртуальною машиною Ethereum (EVM). Це означає, що більшість смарт-контрактів, написаних для Ethereum, можна розгорнути на zkSync практично без змін. Сумісність з EVM гарантує, що розробники можуть використовувати знайомі інструменти та мови (наприклад, Solidity) для написання та розгортання своїх контрактів.
Era zkSync також інтегрує 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.
SDK zkSync надає засоби та бібліотеки для взаємодії з zkSync з оточення JavaScript. Він включає утиліти для налаштування гаманців, відправки транзакцій та взаємодії з розгорнутими у zkSync смарт-контрактами.
Інтерфейс командного рядка (CLI) zkSync надає можливості управління проектами zkSync, включаючи розгортання контрактів та управління обліковими записами.
Remix - це відкритий веб-тастільний додаток з відкритим кодом, який допомагає писати угоди Solidity прямо з браузера. Він підтримує zkSync через плагіни та конфігурації, які з'єднують його з мережею zkSync.
Інструменти розробки інтегруються для створення єдиної середи для розробки, тестування та розгортання смарт-контрактів на zkSync.
Hardhat інтегрується з SDK zkSync, щоб забезпечити плавний робочий процес для розробників. Плагіни Hardhat для zkSync обробляють процеси компіляції та розгортання, тоді як SDK zkSync надає базовий функціонал для взаємодії з мережею zkSync. Ця комбінація дозволяє розробникам писати сценарії розгортання та тести, використовуючи знайомі конструкції Hardhat, використовуючи специфічні для zkSync функції.
Розробники можуть писати та тестувати смарт-контракти за допомогою Remix, а потім використовувати Hardhat для більш складних сценаріїв розгортання. Скомпільовані артефакти з Remix можуть бути легко імпортовані в проект Hardhat, що дозволяє гнучкі робочі процеси розробки.
zkSync CLI можна використовувати разом із Hardhat і zkSync SDK для керування розгортаннями та взаємодії з розгорнутими контрактами. Він надає інтерфейс командного рядка для типових завдань, таких як розгортання контрактів або керування ключами облікових записів, які можна інтегрувати в автоматизовані конвеєри розгортання.
Тестовий фреймворк Hardhat може бути використаний для написання модульних та інтеграційних тестів для смарт-контрактів. Ці тести можуть бути запущені на локальному вузлі zkSync або тестовій мережі, щоб переконатися, що контракти ведуть себе, як очікувалося. SDK zkSync сприяє взаємодії з контрактами під час тестування, що дозволяє забезпечити всебічне покриття тестами.
Інтегруючи ці інструменти, розробники можуть ефективно писати, тестувати, розгортати та керувати смарт-контрактами на zkSync, використовуючи масштабованість та економічну ефективність zkRollups, зберігаючи при цьому знайомий досвід розробки. Ця інтеграція підтримує потужний життєвий цикл розробки, від початкового створення контракту до розгортання та поточного обслуговування.
Основні моменти
Смарт-контракти в zkSync працюють подібно до тих на Ethereum, але з покращеною масштабованістю та ефективністю завдяки базовій технології zkRollup. zkSync використовує докази з нульовим розголосом для забезпечення безпеки та недовіри під час обробки транзакцій поза ланцюжком.
Стислі неінтерактивні аргументи знань з нульовим розголошенням (zk-SNARKs) використовуються для перевірки правильності обчислень поза мережею. У zkSync zk-SNARK гарантують, що всі транзакції та виконання смарт-контрактів є дійсними без необхідності виконувати обчислення в основній мережі Ethereum. Це зменшує обчислювальне навантаження та пов'язану з цим плату за газ, що забезпечує більшу пропускну здатність.
zkSync Era, остання ітерація, повністю сумісна з віртуальною машиною Ethereum (EVM). Це означає, що більшість смарт-контрактів, написаних для Ethereum, можна розгорнути на zkSync практично без змін. Сумісність з EVM гарантує, що розробники можуть використовувати знайомі інструменти та мови (наприклад, Solidity) для написання та розгортання своїх контрактів.
Era zkSync також інтегрує 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.
SDK zkSync надає засоби та бібліотеки для взаємодії з zkSync з оточення JavaScript. Він включає утиліти для налаштування гаманців, відправки транзакцій та взаємодії з розгорнутими у zkSync смарт-контрактами.
Інтерфейс командного рядка (CLI) zkSync надає можливості управління проектами zkSync, включаючи розгортання контрактів та управління обліковими записами.
Remix - це відкритий веб-тастільний додаток з відкритим кодом, який допомагає писати угоди Solidity прямо з браузера. Він підтримує zkSync через плагіни та конфігурації, які з'єднують його з мережею zkSync.
Інструменти розробки інтегруються для створення єдиної середи для розробки, тестування та розгортання смарт-контрактів на zkSync.
Hardhat інтегрується з SDK zkSync, щоб забезпечити плавний робочий процес для розробників. Плагіни Hardhat для zkSync обробляють процеси компіляції та розгортання, тоді як SDK zkSync надає базовий функціонал для взаємодії з мережею zkSync. Ця комбінація дозволяє розробникам писати сценарії розгортання та тести, використовуючи знайомі конструкції Hardhat, використовуючи специфічні для zkSync функції.
Розробники можуть писати та тестувати смарт-контракти за допомогою Remix, а потім використовувати Hardhat для більш складних сценаріїв розгортання. Скомпільовані артефакти з Remix можуть бути легко імпортовані в проект Hardhat, що дозволяє гнучкі робочі процеси розробки.
zkSync CLI можна використовувати разом із Hardhat і zkSync SDK для керування розгортаннями та взаємодії з розгорнутими контрактами. Він надає інтерфейс командного рядка для типових завдань, таких як розгортання контрактів або керування ключами облікових записів, які можна інтегрувати в автоматизовані конвеєри розгортання.
Тестовий фреймворк Hardhat може бути використаний для написання модульних та інтеграційних тестів для смарт-контрактів. Ці тести можуть бути запущені на локальному вузлі zkSync або тестовій мережі, щоб переконатися, що контракти ведуть себе, як очікувалося. SDK zkSync сприяє взаємодії з контрактами під час тестування, що дозволяє забезпечити всебічне покриття тестами.
Інтегруючи ці інструменти, розробники можуть ефективно писати, тестувати, розгортати та керувати смарт-контрактами на zkSync, використовуючи масштабованість та економічну ефективність zkRollups, зберігаючи при цьому знайомий досвід розробки. Ця інтеграція підтримує потужний життєвий цикл розробки, від початкового створення контракту до розгортання та поточного обслуговування.
Основні моменти