EVM (Ethereum Virtual Machine) — это программная платформа, используемая для создания приложений на Ethereum и других протоколах, в которых реализована совместимость с EVM. Внедрение EVM в Zilliqa открывает нашу экосистему для более широкого сообщества разработчиков блокчейна и позволяет пользователям использовать популярные кошельки, такие как MetaMask, в экосистеме Zilliqa.
Следующим шагом после реализации в тестовой сети станет первый полный релиз совместимости EVM в основной сети Zilliqa, который будет запущен 25 апреля 2023 года.
После запуска реализации EVM в mainnet пользователи смогут переводить родные ZIL с помощью таких кошельков, как MetaMask, и развертывать смарт-контракты Solidity с помощью популярных инструментов разработчика, таких как Truffle и Hardhat.
В дальнейшем совместимость EVM будет расширена до полной совместимости между стандартами смарт-контрактов Scilla и Solidity. Эта функциональность будет поэтапно внедряться сначала в тестовой сети, а затем в основной сети Zilliqa.
Чтобы узнать больше о предстоящем запуске совместимости EVM в основной сети Zilliqa и о том, какие функции находятся в процессе разработки, мы поговорили с руководителем отдела разработки распределенных систем Zilliqa Валерием Замараевым.
Чего ожидать от EVM в mainnet
Валерий объясняет, что способ реализации совместимости EVM на Zilliqa превосходит многие протоколы второго уровня благодаря возможности передавать токены нативно, без сложных и посторонних процессов конвертации.
«Это полная, законченная реализация совместимости EVM со всеми API, и большинству dApps не потребуется никакой адаптации. Наша реализация лучше, чем у многих блокчейнов второго уровня, потому что мы решили сделать EVM родным для экосистемы Zilliqa», — говорит Валерий.
«Есть небольшое количество исключений, которые уже опубликованы в нашей документации и касаются в основном определенных опкодов, но в значительной степени мы полностью совместимы с EVM».
Эта нативная реализация означает, что люди могут использовать такие кошельки, как MetaMask, так же, как и на других блокчейнах, не беспокоясь о разнице в адресном пространстве или конвертации токенов ZIL.
«EVM получает доступ к тем же ZIL, что и Scilla, в том же адресном пространстве. Например, если я отправляю немного ZIL со своего счета на ваш счет, и вы используете ZILSwap, а я использую Metamask, это происходит в одном и том же адресном пространстве. Если мой смарт-контракт отправляет ZIL вам, мы можем обмениваться ценностями напрямую, без всяких мостов, без лишних задержек. В большинстве реализаций второго уровня вам все равно пришлось бы обернуть свои токены и иметь еще один токен для завершения этой передачи.»
«После выхода первого релиза полной совместимости с EVM люди смогут использовать те же настройки MetaMask, которые они уже используют в других цепочках. Все, что им нужно будет сделать, это перевести свои балансы из кошелька Zilliqa в Metamask, а затем они смогут обмениваться между собой родными ZIL», — говорит Валерий.
«Кроме того, они могут писать код на Solidity, развертывать его в мейннете и создавать dApps, используя те же инструменты, что и в любой другой среде EVM — Truffle, Hardhat и так далее».
Совместимость Zilliqa с EVM также обеспечивает широкую поддержку API-библиотек, таких как Ethers.js и Web3.js — обе эти библиотеки отлично работают в текущей тестовой сети.
Взаимодействие между Scilla и Solidity
После того, как совместимость EVM будет реализована в mainnet, следующим шагом станет расширение возможностей путем внедрения совместимости между стандартами 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 to ZRC-2 proxies, чтобы вы могли видеть свои токены ZRC-2, как если бы они были токенами ERC-20. Наша цель — добавить совместимость с ERC-20 ко всем токенам ZRC-2 на платформе, даже к текущим», — говорит Валерий.
«Это сразу же сделает их доступными для всех существующих протоколов DeFi. Единственное, что останется сделать, — это кому-то развернуть их, и у разработчиков будет много стимулов для этого».
Расширение возможностей для разработчиков Scilla
Запуск совместимости EVM в mainnet и предстоящая реализация совместимости между смарт-контрактами Scilla и Solidity также является отличной новостью для dApps и разработчиков Scilla, говорит Валерий.
«В некотором смысле, совместимость EVM поддерживает разработчиков Scilla. В прошлом люди, пишущие контракты на Scilla, были озабочены тем, как сделать их совместимыми с другими экосистемами, и, возможно, отказались от идеи более широкой совместимости и принятия в пользу родного безопасного языка смарт-контрактов Zilliqa».
«Теперь, благодаря совместимости с EVM и предстоящей совместимости с Solidity, вы можете сделать выбор в пользу Scilla и не терять связь с миром EVM-совместимых цепочек. Это отличная причина продолжать использовать Scilla и сделать ее приоритетной для ваших следующих проектов, потому что если вам нужно окно в мир EVM, то теперь оно у вас есть», — добавляет он.
«Это создает возможность, которую могут предложить немногие другие блокчейны — вы можете использовать правильный инструмент для правильной работы». Solidity открывает доступ к миру DeFi и всему программному обеспечению, которое там уже есть, а Scilla может использоваться для любых новых разработок, где безопасность является главным приоритетом».
Благодаря этой первой полной реализации совместимости с EVM, люди смогут использовать MetaMask нативно с Zilliqa и развертывать смарт-контракты Solidity непосредственно в мейннете Zilliqa. Однако, когда дело доходит до разработки более сложных dApp и процесса тестирования, тестовая сеть остается лучшим местом для изучения потенциальных вариантов использования совместимости с EVM.
«Тестовая сеть — это то место, где должны проходить все испытания и разработки. Мы выпускаем EVM в mainnet, потому что уверены в полноте нашей реализации, но для всего нетривиального вы должны использовать testnet для разработки своих dApp», — отмечает Валерий.
«Используйте Metamask для отправки ZILs в mainnet и развертывания ваших смарт-контрактов в mainnet, но когда у вас есть сложное dApp, где вы должны быть уверены в своей реализации, пожалуйста, используйте наш testnet».
«Кроме того, функции, которые мы планируем для следующего обновления mainnet, такие как совместимость Scilla-Solidity, будут доступны в testnet гораздо раньше».
Эти функции совместимости будут доступны в тестовой сети задолго до их развертывания в основной сети, и разработчикам, которые хотят использовать эти функции для создания решений DeFi и других, следует следить за будущими объявлениями об обновлении совместимости EVM в тестовой сети Zilliqa.
Увлекательное будущее Zilliqa с EVM
Запуск совместимости EVM в основной сети Zilliqa является важной вехой в развитии экосистемы Zilliqa, стимулирующей развертывание сервисов DeFi и облегчающей внедрение благодаря встроенной поддержке популярных кошельков, таких как MetaMask.
«Я думаю, что в результате совместимости с EVM Zilliqa станет гораздо более крупным игроком в мире DeFi — это меня очень радует», — говорит Валерий.
«Это также гигантское улучшение пользовательского опыта Zilliqa — мы устраняем фрагментацию пользовательского опыта, которая мешает удобству использования сети».
«Все улучшения в кошельках, совместимых с EVM, мы будем получать автоматически, а не пытаться догнать индустрию. Мы становимся более самостоятельным участником более широкой криптоиндустрии, и в некоторых областях мы стремимся больше сотрудничать, чем конкурировать», — добавляет он.
Говоря о предстоящих в этом году крупных обновлениях сети и пути к более масштабируемой и удобной для пользователей сети Zilliqa 2.0, Валерий говорит, что, хотя скорость и масштабируемость сети являются ключевыми показателями для улучшения, пользовательский опыт является ключевым фактором для улучшения принятия.
«Мы должны думать не только о том, как масштабировать нашу сеть, но и о наших пользователях. Нет особого смысла иметь масштабируемую сеть, которой никто не пользуется. Лично для меня приоритетом номер один является удобство пользователей», — говорит Валерий.
«Это основная часть нашей философии, поскольку мы увеличиваем скорость и масштабируемость сети Zilliqa с развитием Zilliqa 2.0».
Отзывы