Каждые две недели ChainSafe Systems представляет обновленную информацию о разработке нашего клиента JavaScript / TypeScript ETH2.0, Lodestar.

С июля 2018 года я работаю над независимой реализацией цепочки маяков на JavaScript (теперь TypeScript). В то время это был просто внутренний побочный проект после объявления о прекращении поддержки EIP1011 в пользу нового дизайна, сочетающего шардинг и каспер. Теперь этот внутренний побочный проект вырос из команды из двух человек в команду из четырех человек, и мы официально анонсируем Lodestar!

Что такое Lodestar?

Lodestar - это наш ответ JavaScript на цепочку маяков. После поиска в Интернете синонимов слова beacon у нас не было особого выбора, и мы остановились на lodestar, потому что оно выделялось больше.

Почему именно JavaScript?

Мы выбрали JavaScript, потому что все остальные языки программирования, которые мы изначально хотели, были взяты. Мы провели базовый поиск в Github и нашли репозиторий цепочек маяков Go от Prysmatic Labs (с тех пор это репозиторий устарел) и репозиторий цепочек маяков Rust от Sigma Prime, прежде чем он был переименован в Lighthouse. Мы обсуждали C ++, но я не занимаюсь программированием на C ++ с первого семестра третьего курса университета, и никто другой не имел большого опыта за пределами университета. Кроме того, экосистема C ++ в Ethereum развита недостаточно. Мы не стали использовать Java, потому что мало кто в офисе имеет опыт профессиональной разработки, в то время как у некоторых из нас был академический опыт работы с Java.

Перебрав все варианты, мы остановились на JavaScript. Все в офисе знакомы с JavaScript, поскольку это регулярно используемый язык программирования и основной язык, используемый для разработки DApps на Ethereum. Это заставило нас понять, что, несмотря на его медлительность по сравнению с другими языками, JavaScript является жизненно важной частью экосистемы. Без него Ethereum, вероятно, не был бы настолько доступен для веб-разработчиков и не стал бы таким популярным. Оглядываясь назад, я понимаю, что это должен был быть выбор по умолчанию. Это также дало бы нам возможность начать создание экосистемы JavaScript ETH2.0 и поставило бы перед нами огромную задачу по совершенствованию наших навыков как разработчиков с открытым исходным кодом.

Обновления в разработке

Хватит мифов о фундаменте. Пришло время актуальных обновлений.

Во время праздников мы немного поработали над Lodestar. Итак, это будет короткое и милое обновление!

Мы почти закончили реализацию всех вспомогательных функций. Контракт на регистрацию валидатора также был обновлен, чтобы соответствовать новой спецификации, и связанные с ним тесты были завершены. Мы начали реализацию функции запуска, чтобы начать считывание депозитов из контракта о регистрации валидатора в цепочке ETH 1.x. Мы закрыли кучу проблем и немного очистили репозиторий.

Наша библиотека чисел фиксированного размера почти завершена! Это универсальная библиотека, которую разработчики могут использовать для получения целых чисел фиксированного размера. Мы делаем его максимально приближенным к спецификациям ETH2.0. Мы постепенно интегрируем его в нашу реализацию SSZ, Lodestar и нашу библиотеку подписей BLS.

Предстоящая работа

Разработка

Мы собираемся завершить наши числа фиксированного размера и библиотеки SSZ, поскольку они имеют непосредственное отношение к завершению Lodestar в соответствии со спецификацией. Одновременно мы продолжим разработку нашей библиотеки подписей BLS и начнем разработку нашей библиотеки gossipsub.

Исследовать

Мы также начнем исследование конфиденциальности валидаторов и неравенства в благосостоянии в Serenity. Другие команды размышляли и публиковали идеи о конфиденциальности валидатора в p2p-репозитории, и мы хотели бы внести свой вклад. Мы будем публиковать идеи в репозитории и любые значимые открытия на форуме ethresearch. Неравенство богатства - это то, о чем многие не говорят в Серенити. Одна из основных целей перехода от PoW к PoS - повысить децентрализацию сети Ethereum и упростить другим пользователям использование потребительского оборудования для участия в протоколе. Во-первых, мы попытаемся спрогнозировать показатель, известный как коэффициент Джини, на основе работы Мэтью Уэмплер-Доти и данных, предоставленных EthHub.

Заинтересованы в участии?

Конечно же!

Вы можете сделать это, просмотрев средства отслеживания проблем в наших различных репозиториях и поработав над проблемами, отмеченными как Хорошая первая проблема. Мы стараемся сделать их максимально простыми и понятными, чтобы вы стали одним из наших любимых соавторов. Если вы хотите немного запачкать руки, вы можете решить проблемы, которые не отмечены тегом Good First Issue. Эти вопросы, вероятно, в некотором роде тоже трудны для нас. Любая помощь по ним приветствуется! У всех наших репозиториев есть рекомендации. Для получения дополнительной информации вы можете проверить Репозиторий Sharding со всем, что вам нужно знать, чтобы принять участие.

Как всегда, вы можете следить за ChainSafe в Твиттере и заглядывать на наш канал Lodestar Gitter.

Пожертвования

Мы группа разработчиков с открытым исходным кодом, стремящихся улучшить экосистему Ethereum с помощью всех наших проектов. Вся наша работа с открытым исходным кодом полностью финансируется за счет грантов и пожертвований сообщества Ethereum. Если вы хотите сделать разовое пожертвование, вы можете отправить ETH или DAI на наш адрес: 0x3990a27b2dA3612727dD3A9cf877C94465C32776. Если вы заинтересованы в постоянной поддержке нас, вы можете сделать пожертвование через Программу грантов на основе подписки Gitcoin и заплатить любым токеном, который вам нравится.

Особая благодарность Виталику за щедрость, предоставленную нам 1000 ETH, и всем участникам, которые нашли время в отпуске, чтобы помочь нам построить Lodestar.