В декабре 2022 года мы объявили, что совместимость с EVM была запущена в тестовой сети Zilliqa, что позволяет развертывать смарт-контракты, написанные на Solidity, в блокчейне Zilliqa.
EVM (виртуальная машина Ethereum) — это программная платформа, используемая для создания приложений на Ethereum и других протоколах, в которых реализована совместимость с EVM. Внедрение EVM в Zilliqa открывает нашу экосистему для более широкого сообщества разработчиков блокчейнов и позволяет пользователям использовать популярные кошельки, такие как MetaMask, с экосистемой Zilliqa.
Следующим шагом после реализации этой тестовой сети является выпуск первого полного выпуска совместимости EVM с основной сетью Zilliqa, запуск которого запланирован на 25 апреля 2023 года.
Как только эта реализация EVM будет запущена в основной сети, пользователи смогут передавать нативные ZIL с помощью кошельков, таких как MetaMask, и развертывать смарт-контракты Solidity с помощью популярных инструментов разработчика, таких как Truffle и Hardhat.
В дальнейшем совместимость EVM будет расширена за счет полной совместимости между стандартами смарт-контрактов Scilla и Solidity. Эта функция будет постепенно внедряться сначала в тестовой сети, а затем в основной сети Zilliqa.
Чтобы узнать больше о предстоящем запуске совместимости EVM в основной сети Zilliqa и о том, какие функции находятся в разработке, мы поговорили с руководителем отдела разработки распределенных систем Zilliqa Валерием Замараевым.
Чего ожидать от EVM в основной сети
Валерий объясняет, что то, как совместимость с EVM была реализована в Zilliqa, превосходит многие протоколы уровня 2 благодаря возможности передавать токены без сложных и посторонних процессов преобразования.
«Это полная реализация совместимости EVM со всеми API, и большинство dApp вообще не требуют какой-либо адаптации. У нас есть лучшая реализация, чем у многих блокчейнов уровня 2, потому что мы решили сделать EVM родным для экосистемы Zilliqa», — говорит Валерий.
«Есть небольшое количество исключений, которые уже опубликованы в нашей документации и относятся в основном к определенным кодам операций, но в значительной степени у нас есть полная нативная совместимость с EVM».
Эта нативная реализация означает, что люди могут использовать такие кошельки, как MetaMask, так же, как и в других блокчейнах, не беспокоясь о различиях адресного пространства или конвертации токенов ZIL.
«EVM обращается к тому же ZIL, что и Scilla, в том же адресном пространстве. Например, если я отправляю некоторый ZIL со своей учетной записи на вашу учетную запись, и вы используете ZILSwap, а я использую Metamask, он находится в одном и том же адресном пространстве. Если мой смарт-контракт отправляет вам ZIL, мы можем обменивать стоимость напрямую без каких-либо мостов, без каких-либо ненужных задержек. В большинстве реализаций уровня 2 вам все равно придется обернуть свои токены и иметь еще один токен для завершения этой передачи».
«После того, как этот первый выпуск полной совместимости EVM будет запущен, люди смогут использовать ту же настройку MetaMask, которую они уже используют с другими цепочками. Все, что им нужно будет сделать, — это перевести свои балансы со своего кошелька Zilliqa на Metamask, а затем они смогут обменивать нативные ZIL между собой», — говорит Валерий.
«Кроме того, они могут писать код в Solidity, развертывать его в основной сети и создавать dApps, используя те же инструменты, что и в любой другой среде EVM — Truffle, Hardhat и т. д.».
Совместимость Zilliqa с EVM также обеспечивает обширную поддержку библиотек API, таких как Ethers.js и Web3.js, которые хорошо работают в текущей реализации тестовой сети.
Взаимодействие между Scilla и Solidity
Как только совместимость с EVM будет запущена в основной сети, следующим шагом будет создание дополнительных функций путем реализации совместимости между стандартами Scilla и Solidity, включая ERC-20 и ZRC-2 для взаимозаменяемых токенов и ERC-721 и ZRC-6 для NFT.
Эта функциональная совместимость сделает передачу NFT и взаимозаменяемых токенов между интерфейсами EVM и Scilla такой же простой, как и передачу собственных токенов ZIL. Подход, который Валерий и его команда используют для решения этой проблемы, заключается в обеспечении доступности для пользователей и бесшовной интеграции.
«Scilla и EVM имеют разные модели исполнения — модель Scilla преднамеренно более ограничена из соображений безопасности. Чтобы сделать их совместимыми, вам также нужно немного по-другому выполнить EVM», — объясняет Валерий.
«Мы внедрили нечто, называемое стилем передачи продолжения, которое позволяет нам чередовать выполнение одного контракта EVM с другим контрактом, который можно написать в Scilla. По сути, у вас может быть один контракт, который выполняет вызов Scilla, который получает возврат, а затем он может выполнять еще один вызов EVM, который, в свою очередь, может вызывать Scilla и так далее — и все это обрабатывается в одной транзакции».
Этот метод гарантирует, что преимущества функциональной совместимости могут применяться задним числом к существующим токенам, и предлагает пользователям стимулы для развертывания контрактов, которые открывают токены в экосистеме Zilliqa для ряда межсетевых приложений dApp.
«Этот подход необходим для реализации таких вещей, как прокси ERC-20 в ZRC-2, например, чтобы вы могли видеть свой токен ZRC-2.
Источник