Skip to content Skip to footer

Инженерные обновления Oasis за второй квартал 2022

Последние три месяца были очень для нашей инженерной команды очень жаркими даже несмотря на царящие на рынке тренды.

Эта публикация является переводом, сделанным одним из послов Oasis. Мы проводим строгие проверки для точности переводов, но в них всё же могут попадаться ошибки или несоответствия. Oasis не несет ответственности за точность или надежность перевода. Оригинальную статью вы можете прочитать по ссылке.

Мы продолжали работать над нашими Paratime и сконцентрировали ещё больше усилий в сторону запуска нового EVM-совместимого Paratime под названием Sapphire.

Значительные изменения претерпел и наш Oasis Wallet (веб-версия) потому как в будущем он будет играть роль программной основы для обоих наших кошельков: веб-версии и браузерного расширения.

Мы обновили core-платформу, а также платформу для разработчиков с целью улучшить пользовательских опыт для всех, кто занимается разработкой на Oasis Network.

А теперь предлагаем вам ознакомиться с техническими обновлениями, которыми мы занимались на протяжении второго квартала этого года.

Обновления Кошелька

Во втором квартале мы уделили особенно много внимания обновлению и улучшению веб-версии Oasis Wallet. Мы приняли такое решение чтобы в дальнейшем превратить веб-версию кошелька в единую программную основу для как для веб-версии, так и для браузерного расширения.

Во втором квартале мы произвели 69 pull requests. А вот и наиболее значительные из обновлений:

  • Использование webext-redux для расширения (#787).
  • Использование Parcel для создания расширения и адаптации, чтобы его можно было построить в основной ветке (#805).
  • Упрощена настройка расширений, окружения и скриптов сборки. (#830).
  • Рефакторинг боковой панели и возможность фокусировки всех кнопок (#821).
  • Добавлена локализация на словенском и турецком языках (#277#808).
  • При выборе одного из топ-20 валидаторов для стейкинга добавлено специальное уведомление, призывающее к большей децентрализации. (#831).
  • Изменён стиль поля поиска адреса. Поле поиска реорганизовано в отдельный компонент. (#844).
  • Исправлена проблема доступности клавиатуры после создания кошелька (#864).
  • Теперь компонент отправки транзакции показываются только для собственных учетных записей (#865).
  • Добавлен латинский шрифт ext с целью исправить проблемы с отображением шрифта с нелатинскими символами (#867).
  • Процесс публикации документа (#840).

Невзирая на то, что веб-версия кошелька будет служить программной основой для обеих версий, мы продолжаем улучшать UX, стабильность и отказоустойчивость нашего Oasis Wallet — Browser Extension.

Во втором квартале мы совершили 15 pull requests и выпустили версии 1.5.0 и 1.6.0. А вот и несколько наиболее значимых изменений:

  • Откат к gRPC при сбое запроса информации об учетной записи посредством Oasis Scan API (#257).
  • Блокировка подтверждения опасных действий (т. е. совершение перевода валидатору, внесение средств в ParaTime на сторонний счет, вывод из ParaTime на сторонний счет, внесение средств в ParaTime на Ledger-backed счет) (#271)
  • Обновлена комиссия за газ по умолчанию для ParaTime транзакций, чтобы она была достаточной в рамках недавнего повышения минимальной цены на газ в Emerald. (#261#262).
  • Исправлено подписание транзакций после импорта из коротких закрытых ключей (#273).
  • Показ только Emerald и Cipher (#267).
  • Исправлено отображение ошибок фоновой страницы (#272).
  • Улучшены предполагаемые типы обещаний и TransactionWrapper.(#264).

Обновление ParaTime

  • Во втором квартале уровень использования Emerald ParaTime был на хорошем уровне. Мы уменьшили количество транзакций за счет более успешного предотвращения попадания ошибочных транзакций в блоки. Июнь 2022 года показал неуклонный рост использования с пиком 7 июня в более чем 300 тыс. транзакций в день. А уже в конце месяца показатель колебался на уровне от 35 тыс. до 100 тыс. транзакций ежедневно.
  • 65 нод работают под управлением Emerald ParaTime в Mainnet по состоянию на 30 июня.
  • 30 нод работают под управлением Cipher ParaTime в Mainnet по состоянию на 30 июня.

Разработка ParaTime

Во втором квартале разработка нашего нового ParaTimes шла полным ходом.

Вот уже некоторое время мы усердно работаем над новым конфиденциальным EVM-совместимым ParaTime под названием Sapphire ParaTime. Исходный код данного ParaTime открыт и недавно был опубликован в репозитории sapphire-paratime на GitHub. А к запуску в Testnet он планируется уже в июле 2022 года.

А вот и основные вехи разработки Runtime SDK:

  • Добавлена поддержка подписанных запросов (#984#980).
  • В модуль evm добавлена поддержка конфиденциальности (#855).
  • В модуль evm добавлена поддержка шифрования конверта вызова. (#926).
  • Добавлена поддержка тегирования дорогостоящих запросов и настройки максимального уровня газа, который будет использоваться при оценке газа при моделировании txns. (#865).
  • Добавлена настраиваемая оценка газа с помощью поддержки бинарного поиска (#981).
  • Улучшена EVM-совместимость и задокументировано еще больше различий в нашем модуле evm. (#983).
  • Обновление SputnikVM, реализации Rust EVM, которую мы используем, до версии 0.35.0 (#997).
  • Добавлен параметр конфигурации, который позволяет операторам нод указывать максимальное предельное значение газа, для которого они все еще готовы ответить на запрос evm.SimulateCall. (#885).
  • При проверке tx обновление платы/одноразового номера происходит только после успешного вызова (#864).
  • Чтобы соответствовать изменениям Oasis Core, требующим управления расписанием ParaTime, всегда включайте управление расписанием в Runtime SDK (#888).
  • Распространение ошибок в вызовах библиотеки WASM (#894).
  • Добавлено необязательное распространение ошибок в core. EstimateGas (#972).
  • Добавлена возможность отключить эмиссию событий об использовании газа (#944#1021).
  • Расшифровка данных конфиденциального вызова с помощью ключа предыдущей эпохи для бесперебойной работы после перехода эпохи (#1023).
  • Добавлена поддержка подверсий ABI контракта WASM с целью обеспечить эволюцию ABI без нарушения совместимости со старыми уже развернутыми смарт-контрактами (#984).

Обновления платформы для разработчиков

Наша среда разработки смарт-контрактов на основе Solidity & EVM уже доступна в Emerald ParaTime в Mainnet.

Шлюз Emerald Web3 позволяет устаревшим приложениям Ethereum взаимодействовать с Emerald, не требуя при этом специальных модификаций. Во втором квартале мы произвели 35 pull requests, направленных на повышение производительности, надежности и удобства использования нашего шлюза, а также выпустили версии 2.1.0 и 2.2.0. А вот и наиболее значимые изменения:

  • Повышение эффективности кэш-памяти (#260).
  • Реализация кеша ответов (#242).
  • Добавление кеш транзакций и квитанций о транзакциях (#244).
  • Добавление кеш журнала (#244).
  • Внедрение оракула для цен на газ на основе индексированных блоков (#256).
  • Добавление поддержки настройки шлюза для начала индексации на определенной высоте (#233).
  • Добавление поддержки Prometheus для конечных точек API (#241).
  • Добавление метрик для запросов PostgreSQL (#253).
  • Правильное использование и распространение контекстов по программной базе (#240).
  • Добавление тайм-аута для индексации блока (#238).
  • Обработка случаев, когда более раннее наблюдение за транзакцией не удалось, а более позднее наблюдение было выполнено успешно. (#207).
  • Внедрение запроса максимального лимита газа на блок (#191).

Наша среда разработки смарт-контрактов на основе Rust & WebAssembly развернута в Testnet на Cipher ParaTime. Ознакомьтесь с нашим руководством по смарт-контрактам и узнайте, как подготовить вашу среду для разработки к использованию смарт-контрактов Cipher, и как развернуть смарт-контракты с помощью нового интерфейса командной строки Oasis.

А ещё мы добавили новое руководство под названием Confidential Hello World, которое поможет вам написать и развернуть ваш первый конфиденциальный смарт-контракт на Cipher!

Ознакомиться с нашей open source документацией можно на docs.oasis.dev. А внести свой вклад можно перейдя по ссылке https://github.com/oasisprotocol/docs и отправив pull request!

Обновления CORE-платформы

Начало второго квартала ознаменовалось первоапрельским выпуском Oasis Core 22.1, за которым 11 апреля последовало успешное обновление Damask Upgrade.

Наша core-платформа также продолжала полным ходом развиваться во втором квартале.

Мы работали над новым официальным Oasis Indexer, который будет индексировать консенсус Oasis Network и транзакции ParaTime в базе данных PostgreSQL, обеспечивая тем самым легкий доступ к историческим данным. Проект с открытым исходным кодом был недавно опубликован в репозитории oasis-indexer на GitHub. В самое ближайшее время мы начнём переводить кошельки Oasis, чтобы использовать их в качестве предпочтительного бэкэнда для получения данных.

Разработка Oasis Core продолжается стремительными темпами.

Во втором квартале мы совершили 132 pull request. Ниже приведены наиболее значимые изменения (некоторые из них должны появиться в Oasis Core 22.2, а некоторые были перенесены в 22.1.x):

  • Переписан пул транзакций среды выполнения и поток обработки с целью включить отслеживание отправителей транзакций и ограничения количества незавершенных транзакций для каждого разрешенного в пуле отправителя (#4665).
  • Улучшение приоритизации одноранговых узлов при получении фрагментов контрольной точки хранилища (#4671).
  • Различные исправления в потоке конфиденциальной регистрации во время выполнения (#4678#4683).
  • Добавлена способность узлов выполнения вычислений обрабатывать изменения конфигурации диспетчера динамических ключей (#4729#4715).
  • Улучшен протокол EnclaveRPC, чтобы среды выполнения могли сообщать об отзывах одноранговых узлов на основе индикаторов протокола более высокого уровня. Это должно сделать протокол более надежным. (#4757).
  • Добавлена поддержка новейшего протокола Architectural Enclave Service Manager (AESM). (#4711).
  • Определён формат пакета аттестации Intel DCAP и внедрена логика синтаксического анализа и проверки котировок версии 3 как в Go, так и в Rust. Это будет использоваться для постепенного внедрения полной поддержки аттестации DCAP, что позволит использовать процессоры Intel Xeon 3-го поколения. (#4720#4789).
  • Внедрение клиента Intel PCS, позволяющего извлекать информацию TCB и идентификационные данные QE, необходимые в рамках процесса проверки котировок DCAP (#4752).
  • Реализована поддержку режима архива (#4571).
  • С помощью легкой проверки клиента и регистрации RAK обеспечена актуальность состояния консенсуса, предоставляемого конфиденциальным средам выполнения (#4741).
  • Сбор логов времени выполнения и отправка их как части обычных логов oasis-node. (#4709).
  • Упрощение просмотра текущего узла и статуса выполнения (#4669).

Оставайтесь на связи!

Если вы уже работаете на Oasis Network и хотите чтобы мы рассказали о вашем прогрессе в следующем дайджесте обновлений, напишите нам на электронную почту — info@oasisprotocol.org.

Присоединяйтесь к нашему Discord и следите за обновлениями на Twitter!