Счастливых праздников!

В этом выпуске для вас есть две основные категории обновлений: расширенные каталоги, открывающие путь для более обширных открытий, и повсеместное повышение скорости.

Если вы еще не знакомы с дизайном Mediachain, возможно, начать с публикации v1.0.

Улучшения каталога

concat теперь может подключаться к нескольким каталогам и использовать их все для однорангового поиска в дополнение к DHT. Мы создали еще один общедоступный каталог, чтобы вы могли попробовать это сами. После обновления до 1.4 запустите:

$ mcclient config dir /ip4/52.7.126.237/tcp/9000/p2p/QmSdJVceFki4rDbcSrW7JTJZgU9so25Ko7oKHE97mGmkU6 /ip4/52.45.239.4/tcp/9000/p2p/QmWxJAK2ZXRmEi3ozWXi5jm9y4RmHhJdqJNv7sobFQEpK2
Set 2 directory servers:
/ip4/52.7.126.237/tcp/9000/p2p/QmSdJVceFki4rDbcSrW7JTJZgU9so25Ko7oKHE97mGmkU6
/ip4/52.45.239.4/tcp/9000/p2p/QmWxJAK2ZXRmEi3ozWXi5jm9y4RmHhJdqJNv7sobFQEpK2

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

$ mcclient listNamespaces
images.500px
images.dpla
images.flickr
images.pexels
mediachain.schemas
museums.brooklynmuseum.artists
museums.brooklynmuseum.collections
museums.brooklynmuseum.exhibitions
museums.brooklynmuseum.geographicallocations
...

И наоборот, одноранговые узлы, которые предоставляют определенное пространство имен:

$ mcclient listPeers 'images.*'
QmeiY2eHMwK92Zt6X4kUUC3MsjMmVb2VnGZ17DhnhRPCEQ
QmZ6dckUhRouVr6AsBTpK6vMLVpcz1KAeJAJVQEZQ5gCek

Мы будем развивать эту функциональность в будущих выпусках.

Скорость и стабильность

  • Благодаря отличной работе Фридель Зигельмайер по оптимизации кодирования CBOR в borc, скорость приема данных должна быть почти вдвое по сравнению с версией 1.3. Шаг кодирования CBOR сам по себе почти в 40 раз быстрее, что действительно демонстрирует возможности оптимизации в чистом js. Вау!
  • При использовании больших наборов данных при загрузке иногда может не хватать памяти из-за утечки ссылок в console.log, упс! Теперь это исправлено, и использование памяти во время приема должно быть довольно скромным. (спасибо Крису Пиатту за обнаружение этого)
  • Объекты данных теперь можно извлекать партиями, повторно используя один и тот же поток. Это сформирует основу для более простого API чтения в версии 1.5.

Иди, возьми их

двоичные файлы concat доступны на GitHub, а aleph свежи на npm. Попробуйте их, добавьте новый каталог и загляните в нашу слабину, если хотите узнать больше.