Ой, еще три месяца, еще один ежемесячный пост в блоге! 😋 Кажется, мы просто не успеем в такие обычные сроки. Я очень полон решимости в целом поддерживать формат и регулярно держать вас в курсе, ребята.

Так что же произошло в пространстве EthereumJS с октября 2018 года?

VM

Наша реализация виртуальной машины получила большое обновление в ноябре вместе с переходом на версию 2.5.0. Релиз представил поддержку Константинополя, появился новый StateManager API для более чистого разделения серверных частей (дерево Меркла / БД / кеш) и был приближен к полному соответствию с официальным набором консенсусных тестов Ethereum. См. Подробные примечания к выпуску, если вы хотите глубже изучить выпуск.

Константинополь к тому времени уже устарел, и мы работаем над подготовкой к Петербургу 😀, смотрите здесь и здесь, чтобы следить за прогрессом, релиз виртуальной машины должен быть доступен в ближайшее время (1-2 недели).

Некоторые перспективы: Сина, которая присоединилась к команде в январе и с тех пор уже работает безумно продуктивно, взяла на себя великолепную задачу реорганизовать evm и подготовиться к интеграции eWASM. Это горячо в прессе с PR, разрешающим базовую поддержку прекомпиляций eWASM, только что открытых в течение последних 24 часов.

Клиент EthereumJS

Наш клиент В РАЗРАБОТКЕ получил огромный импульс на пути к надежному клиенту браузера / node.js с быстрой или легкой синхронизацией благодаря слиянию обширных наборов тестов unit и интеграции в ноябре и декабре 2018 года.

Кроме того, мы теперь интегрировали некоторую экспериментальную поддержку тестовой сети Goerli, и теперь можно легко подключиться к запуску блочной синхронизации. Попробуйте установить локальный клиент npm install ethereumjs-client, а затем запустите ./node_modules/.bin/ethereumjs --network = goerli:

Машинопись

Наши усилия по переходу на TypeScript стали чем-то вроде рутины, и теперь мы выпустили основанные на TypeScript версии библиотек RLP, Account и Common (HF и цепная логика). Вместе с тем мы разработали инструментальную цепочку, ориентированную на TypeScript, для таких вещей, как линтинг, тестирование и документация, которые можно применить ко всем библиотекам. Если вам интересно, посмотрите недавно созданный репозиторий ethereumjs-config, который объединяет часто используемые конфигурации и скрипты.

Теперь весь процесс достаточно созрел, чтобы мы могли переходить к более сложным библиотекам. В настоящее время Sina выполняет более тяжелую работу по рефакторингу библиотеки merkle-patricia-tree (см., Например, PR # 71, # 73 и # 74), которая модернизирует и лучше структурирует исходный код, а также обеспечивает более прочную основу для перехода на TypeScript в ближайшем будущем. Оставайтесь с нами.

Обсуждение дорожной карты DevCon4

Наш доклад о дорожной карте 2019 года от DevCon4 (который, по общему признанию, уже немного устарел) уже некоторое время доступен на YouTube:

Организационная документация

И наконец: для этого потребовалось немало усилий, и мы с гордостью представляем исчерпывающую организационную документацию для EthereumJS:



Сюда входят разделы с некоторым введением в команду и обзором наших повседневных рабочих задач, руководящими принципами вклада и кодексом поведения, техническими справочниками по текущим стандартам и передовым практикам и обзором проектов, которые у нас есть. в нашей дорожной карте.

Среднесрочная цель здесь состоит в том, чтобы вывести большую часть неявной организационной информации вовне, чтобы максимально упростить наши усилия по внесению вклада в здоровую и ориентированную на будущее экосистему Ethereum Javascript (TypeScript 😋).

Новые документы также позволяют проводить более целенаправленное и подробное обсуждение различных вопросов, связанных с организацией. Просто откройте PR к обсуждаемому разделу в репозитории организации, содержащем исходные документы.

Так. Приятного обсуждения. Счастливое СТРОИТЕЛЬСТВО. До скорой встречи. 🐹