Zilliqa Обновление проекта #13 - Строительство на Zilliqa

Мы запустили наш выделенный веб-сайт для Scilla. Оставайтесь с нами, так как в ближайшее время мы добавим больше видео и руководств. Проверьте это на: https://scilla-lang.org/

Последние две недели мы участвовали в крупных событиях в Азии и достигли значительного прогресса в технической команде. Важно отметить, что мы также работаем над приобритением новых партнеров и внедрением приложений, созданных на нашей платформе, запланированных к публичному запуску к концу этого квартала.

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

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

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

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

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

Telegram: https://t.me/zilliqachat

Slack: https://invite.zilliqa.com/

Twitter: https://twitter.com/zilliqa

Reddit: https://www.reddit.com/r/zilliqa/

Github: https://github.com/Zilliqa/zilliqa

Gitter: https://gitter.im/Zilliqa/ (Темы, связанные с разработкой, включая грант экосистемы)

Мы получаем больше заявок для нашего гранта Ecosystem и с нетерпением ждем возможности поделиться некоторыми из выбранных кандидатов в ближайшее время. Если у вас есть интересная идея или вы хотите узнать, как вы можете воплотить свою идею в Zilliqa, обратитесь к нам на Gitter .

Обновления сообщества

Прошедшие события

Последние две недели были насыщены мероприятиями в Китае и Корее, где мы участвовали и проводили встречи в Корее (Blockchain Week). Прием был невероятным.

Мы поговорили на встрече Bluzelle в Пекине.

Провели встречу в Fosun International, китайской международной конгломерате и инвестиционной компании.

В Fosun International мы получили много вопросов и интересных примеров использования нашей технологии, которые участники встречи хотели бы видеть в своем бизнесе.

И закончили митапом в Шанхае для разработчиков.

Xinshu обращается к разработчикам в Шанхае и рассказывает о наших последних разработках.

Yaoqi говорил в разговоре с Huobi о аспектах блокчейн безопасности, в Сингапуре. Смотреть видео ЗДЕСЬ.

Yaoqi и Jin Han, также эксперт в области безопасности Blockchain, говорили с Huobi в стриме на YouTube_

Korea Blockchain Week

19 июля мы провели встречу в Сеуле с Kyber, Quantstamp и другими блокчейн проектами.

На митапе были заняты все места.

Мы также были приглашены KakaoTalk, чтобы присутствовать на форуме Ground X Technology в Джеджу. Xinshu представила наш безопасный смарт-контракт, с использованием Scilla,

Демо-версия Scilla

Xinshu вместе с Dawn Song (Oasis Labs) и командой из Orbs

Техническое обновление

В течение последних двух недель мы работали над несколькими техническими вопросами, в том числе, но не ограничиваясь, основным blockchain протоколом, разработкой ops, уровнем смарт-контрактов и т. д. Ниже мы обсудим прогресс, который мы достигли в каждой из областей.

Разработка Ops

Начиная с Testnet 2.0, мы успешно перенесли нашу публичную тестовую сеть в Kubernetes. Каждый компонент тестовой сети, включая узлы тестовой сети, Zilliqa Explorer и Zilliqa Wallet, теперь работает на кластерах Kubernetes, которые мы поддерживаем на облаке AWS. Мы также объединили наши рабочие процессы внутреннего развития и доставки продукции в единое целое, облегчая жизнь наших инженеров.

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

Чтобы улучшить опыт разработчиков при создании кодовой базы Zilliqa, мы также создали шаблон запроса на перенос в Github. Этот шаблон поможет разработчикам описать детали его / ее реализации / изменений.

Поскольку команда выросла в последние несколько месяцев, и развитие продвигалось быстро, мы чувствовали, что нам нужна лучшая система управления задачами. С этой целью в разделе проектов в репозитории Github мы создали PR-контрольную панель, в которой будет показано, что делает каждый член команды, и задачи, которые нуждаются в проверке. Команда будет тестировать удобство использования этой панели на следующей неделе.

Уровень консенсуса

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

Коды ошибок консенсуса

Во время консенсуса могут возникнуть всевозможные ошибки. Однако текущая консенсусная реализация не возвращает данные об ошибках. В качестве усовершенствования мы внедрили функции, которые могут возвращать код ошибки вместе с строкой ошибки. Идея создания кода ошибок была получена из Номеров ошибок Linux.

Некоторые примеры сообщений об ошибках:

INVALID_DSBLOCK,
INVALID_DSBLOCK_VERSION,
INVALID_TIMESTAMP,
INVALID_BLOCK_HASH

Внеконсенсусные сообщения

Внеконсенсусные сообщения могут приводить к консенсусу. В частности, существует следующая зависимость: лидер консенсуса сначала делает объявление о блоке, затем другие узлы используют протокол с несколькими сигнатурами (S1), чтобы согласовать действие, за которым следует еще один раунд протокола с несколькими сигнатурами (S2 ), чтобы согласиться, что все честные узлы были подписаны на предыдущем шаге. Обратите внимание, что упорядочение важно, поскольку каждый шаг зависит от предыдущего шага.

Исправление, которое мы ранее использовали для снижения шансов сообщений вне очереди, заключалось в задержке S1 и S2, чтобы сеть получала сообщения в правильном порядке. В новом улучшении это было удалено, и вместо этого узел будет блокировать на мгновение и обрабатывать консенсусные сообщения в правильном порядке.

Мы также исправили другие проблемы вне порядка. Например, синхронизация между объявлениями на шардинг-уровне и уровнем DS для обеспечения того, чтобы операции на уровне DS обрабатывались после того, как операции на шардинг-уровне завершились.

Отсутствующие транзакции

Когда лидер шардинга предлагает микроблок (через сообщение объявления в консенсусном протоколе), он включает все хеши транзакций, которые он получил. Однако возможно, что другие узлы, не получили тот же самый набор транзакций. В таких случаях будет консенсусная ошибка, и узлы не будут передавать сообщение объявления.

Благодаря нашему новому усовершенствованию узлы будут запрашивать любые недостающие транзакции от лидера и повторно обрабатывать сообщение объявления. Это позволяет плавно обрабатывать консенсусные сообщения.

Оптимизация

Мы сделали несколько оптимизаций для улучшения латентности и пропускной способности протокола. Ниже приведен список некоторых оптимизаций:

  1. Удалены TxHashes в микроблоке при отправке в комитет DS для снижения сетевых издержек.
  2. Оптимизирован процесс воссоединения нового узла, чтобы он мог присоединиться к сети, получая только последние блоки. Это потребовало от нас реорганизации реализации кругового массива, который хранит сжатый блокчейн.
  3. Удаленное окно времени транзакции: мы удалили явное окно времени для отправки транзакции. Максимальная продолжительность обработки транзакции будет определяться предельным газом блока.

Уровень смарт-контракта

В смарт-контрактах мы работаем над добавлением поддержки (un) подписанной целочисленной поддержки для 256 бит. Более подробная информация приведена ниже:

Интерпретатор

Теперь Scilla поддерживает конструкцию импорта. При этом для повторного использования могут быть импортированы как стандартная библиотека Scilla, так и пользовательский код Scilla (обе чистые функции). Это означало бы, что вместо написания функции для вычисления логических и следующим образом в каждом контракте можно просто «импортировать BoolUtils», который определяет чистые функции на логических входах, а затем использовать andb.

let andb =
fun(b : Bool) => fun(c : Bool) =>
match b with
| False => False
| True =>
match c with
| False => False
| True => True
end
end

Мы также добавили поддержку специальных параметров контракта в init.json. Напомним, что init.json предоставляет значения неизменяемым переменным в контракте, которые не могут быть изменены после создания контракта. При дополнительной поддержке контракты будут иметь доступ к таким ценностям, как _creation_block- - номер блока, в течение которого контракт был развернут / создан. Добавление поддержки для других параметров говорит, что хеш блока создания можно легко сделать в будущем.

Как упоминалось в предыдущем обновлении, Scilla поддерживает (un) целые числа со знаком 32, 64 и 128 бит. Так как язык поддерживает хэширование из 256 бит, мы считаем, что необходимо поддерживать 256 битов (un) целых чисел со знаком. С этой целью мы завершили добавление 256-битной целочисленной поддержки. Это включало поддержку 256-разрядных значений в OCaml и создание оболочки для Scilla. В реализации снова используется пара 128-битных значений из stdint OCaml. Посмотрите, насколько полезны пары?

Dapp разработка

Чтобы облегчить будущее развитие dapp, мы закодировали контракт Scilla, который реализует несовместимый стандарт токена к ERC-721. Контракт будет добавлен к контрактам шаблонов в среде Scilla в следующей версии.

Scilla, являющийся языком промежуточного уровня, не поддерживает struct напрямую. Однако язык поддерживает конструкциюPair, представляющую пару двух типов данных. «Пара» позволяет определить структуру следующим образом:

Struct in C++

struct Books {
Uint32 ID;
String title;
String author;
}

Struct in Scilla

Books: Map Uint32
(Pair (String) (String))

Мы закодировали контракт на книжный магазин, который демонстрирует, как CRD-dapp может быть разработан на Scilla. В контракте используется пара или отображение для представления структуры. Контракт книжного магазина также будет добавлен в среду Scilla в следующем обновлении.

Новый участник команды

Мы очень рады сообщить, что Джейкоб присоединится к нам как разработчик компилятора с 19 июля 2018 года.

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

Присоединяйтесь к Zilliqa!

Мы активно проводим собеседование и стремимся привлечь высококвалифицированных специалистов, чтобы помочь Zilliqa достичь максимального потенциала. Мы ищем программистов с глубоким опытом на C ++, инженеров-компиляторов, а также партнеров и руководителей в области развития бизнеса. Пожалуйста, протяните руку, если вы чувствуете, что можете принести пользу растущей экосистеме Zilliqa!

Zilliqa новости

Некоторые новости о рассмотрении партнерства Etheremon с Zilliqa:

Интервью Amrit и Southeast Asia Globe: http://sea-globe.com/the-blockchain-platform-capable-of-nearly-3000-transactions-per-second/

Coin Marketplace

STEEM 0.27
TRX 0.12
JST 0.032
BTC 61769.55
ETH 2910.04
USDT 1.00
SBD 3.64