Одно из приятных обновлений, которое поможет развитию Universa
Мы долго этого ждали, и наконец-то ожиданию конец!
Сегодня Universa невероятно рада представить вам ещё один из серии скрытых проектов, которые разрабатывались нами в последние месяцы «за закрытыми дверями». Потребовалось около 4000 человеко-часов (и это были человекочасы весьма сложной разработки), чтобы довести его до этого состояния, но теперь он наконец-то публично доступен на Github (
https://github.com/UniversaBlockchain/U8): встречайте U8 (
https://kb.universablockchain.com/u8_home/150)!
Что это? Если вкратце, это среда программного выполнения для запуска Universa-специфичных сетевых сервисов, будь то серверы или клиенты. Ubot-серверы (
https://kb.universablockchain.com/glossary%3A_ubot/208) будут работать на U8. Узлы Universa (
https://kb.universablockchain.com/glossary_node/177) — возможно, тоже появятся (а их тестовая реализация уже доступна в опубликованном коде). В будущем, возможно, какие-то смарт-контракты, поддерживающие графический пользовательский интерфейс, тоже будут запускаться на этой платформе. Parsec-сервер тоже будет работать поверх неё.
Зачем это? Изначально мы создавали Universa, фокусируясь в основном на Java — и пользовались всеми преимуществами Java, производительностью, безопасностью и простотой в разработке. Но последние (начиная с Java 8 и дальше) изменения в политике лицензирования JDK компанией Oracle привели к тому, что обеспечивать стабильность Java-кода в продакшн-окружении пользователям стало сложнее — им придётся или отслеживать и поддерживать каждую последнюю мажорную версию JDK (при том что её смена случается примерно каждые 6 месяцев), или приобретать коммерческую лицензию. Таким образом, нам потребовались среда выполнения кода и язык программирования, которые обеспечат высокую производительность, языковую безопасность и продуктивность в разработке одновременно.
Как это работает? Теперь, когда это уже реализовано — всё выглядит таким простым и очевидным… Высокопроизводительный бэкенд C++, содержащий низкоуровневые (и высокоскоростные) реализации ключевых и самых важных частей Universa (таких как — но не только — работа с сетью и криптографические примитивы). Поверх бэкенда C++ работает JavaScript-движок V8 (
https://v8.dev/) (широко известный за своё качество оптимизации выполнения JavaScript и за качественную поддержку последних стандартов и «синтаксического сахара» JavaScript). А уже на V8 выполняются скрипты JavaScript, содержащие Universa-специфичную бизнес-логику. Вы получаете удобство (и безопасность) современного JavaScript, и в то же время производительность C++. Одновременно.
Обратите внимание, что это пока Work-In-Progress, для вашего раннего доступа. Возможно, пока это ещё «утёнок» — но это уже не «гадкий утёнок»; и теперь вы, своими глазами, можете видеть, как он крепнет и «становится на крыло».
… Но это не единственный и не последний из проектов, которые удивят вас, так что следите за новостями и ждите следующих, ещё более удивляющих анонсов. Мы столкнулись с проблемами, вызванными высокоцентрализованным процессом разработки Java — и создали U8. Мы столкнулись с проблемами из-за ещё более централизованных процессов самого что ни на есть банального приобретения и владения доменами DNS, а также получения HTTPS-сертификатов — и сейчас вы, возможно, уже думаете, а что это за термин “Parsec” несколькими абзацами раньше?..