SafeNetwork открий новия интернет

SAFE Network новини – 28.11.2019

Накратко

Ето някои от основните неща тази седмица:

  • @jimcollinson направи видео въведение към работата, която вършим по потребителското изживяване на Трезорите.
  • Финализирахме внедряването на JSON-RPC в протокола за комуникация authd.
  • Членът на общността @danda представи още една функция за внедряване в SAFE CLI, този път в подкрепа на два допълнителни формата за изхода на CLI (YAML и ясно изобразен JSON) :tada:

Трезори – Фаза 2

План на проекта

Продължаваме да оптимизираме и подобряваме процеса на свързване между Трезорите, като го правим по-близък до това както трябва да работи в реалната мрежа, поддържаща множество секции. Следва отблизо съществуващия процес, разширявайки го с нови заявки и отговори, връщайки информация за връзката на Старейшините. Направихме промени в safe-nd, библиотеката ни от типове и в кода на Трезора.

С завършването на тези задачи започваме да обсъждаме дизайна и изискванията за множеството Секции. С повече хора, преминаващи към екипа работещ върху Трезорите, би трябвало да можем да започнем да го прилагаме скоро, постепенно преминавайки към Фаза 2b.

SAFE API

План на проекта

Тази минала седмица успяхме да финализираме внедряването на JSON-RPC в authd протокола за комуникация. Създадохме ново подхранилище за jsonrpc-quic контейнера в рамките на safe-api хранилището, което разкрива минимизиран набор от функции, които се използват от други контейнери за прилагане на процеса на Удостоверяващия протокол за комуникация. От една страна, safe-api го използва, за да може да изпраща JSON-RPC съобщения до authd чрез QUIC, а от друга страна authd го използва за приемане на тези заявки от клиенти, генериране на JSON-RPC отговор и изпращането му обратно чрез QUIC. Моля, погледнете safe-authd ръководството, за да видите някои примери за тези видове заявки / отговори.

Още една функционална реализация беше изпратена от @danda към safe-cli, този път за поддържане на два допълнителни формата за изхода на CLI. В допълнение към вече поддържания формат JSON (сега преименуван на jsoncompact), CLI вече може да генерира своята продукция във формат YAML (yaml) или в ясно изобразен JSON формат (json). Тези нови формати могат да бъдат активирани с помощта на --output флаг във всяка CLI команда, например:

$ safe dog --output json safe://hbhyrydt5b95dmumcm8yig4u1keuuh8hgsr5yx39xn4mqikp91sbdhbpwp
[
  "safe://hbhyrydt5b95dmumcm8yig4u1keuuh8hgsr5yx39xn4mqikp91sbdhbpwp",
  {
    "data_type": "PublishedImmutableData",
    "media_type": "text/x-markdown",
    "xorname": "c761fec6b9ad8b382a6d4e4a44e7c3f0d626c0fcfde2d2dd5537f2b047c0b68d"
  }
]

Друг аспект, който беше в нашия списък със задачи от дълго време, и който най-накрая успяхме да създадем, е да имаме e2e тестов пакет, който може да се стартира като част от нашия процес на CI. Под e2e имаме предвид провеждането на тестовете ни срещу истински Трезор. Успяхме да настроим това при новата ни настройка за действия в GitHub, като автоматично изпълнихме всичките ни наши тестове за safe-api и safe-cli на CI. Това със сигурност ще ни даде спокойствие, когато обновяваме SAFE библиотеките в Safe-api, както и когато пускаме нови версии на трезори, ще проверяваме, че многото случаи на използване все още работят добре във всички слоеве на пирамидата, т.е. от safe-cli, през safe-api, safe-client-libs, маршрутизация и накрая трезорите. Нещо повече, вече открихме проблем при пускането на всички тези тестове за първи път на CI и вече го разследваме.

Новата версия на safe-api и safe-cli с новия safe-authd вече е неизбежна и точно финализираме необходимите промени в нашите CI скриптове, за да генерираме автоматично пакетите и да ги публикуваме както обикновено, така че се стремим да завършим това ново издание през следващите няколко дни.

Сега, когато първата версия на safe-authd е почти готова, ще можем да се съсредоточим повече върху дизайна и внедряването на API-тата на новите типове данни, както и върху някои нови идеи около посочените контейнери (известни като контейнери по подразбиране в Alpha 2) и как ще се поберат в новите API-та. Планираме да включим всички ви в дискусията както обикновено, така че бъдете готови за интересни технически дискусии (… знаем, че винаги сте :slight_smile:).

SAFE Клиентски библиотеки

План на проекта

През последната седмица екипът работи по премахването на зависимостта от rust_sodium, която причиняваше някои проблеми по отношение на поддръжката от доста време. Подхода ни към тази задача е на разделяне и завладяване и това ни помогна да постигнем добър напредък засега. Зависимостта ще бъде премахната от self_encryption в този PR. В SAFE Клиентските библиотеки мигрирахме подписване, симетрично криптиране и извличане на ключове в PR-ри #1093 и #1096. Остава да мигрираме и асиметричното криптиране и криптирането на публичния ключ, като и двете вече са в процес на работа. Уверени сме, че скоро ще приключим с това и ще продължим да подкрепяме развитието на следващата фаза на трезорите.

Започнахме и да подобряваме мениджъра за връзки. Това е модул, който обработва действителните QUIC мрежови връзки и преноса на данни между клиенти и трезорите, и досега той просто поддържаше комуникация с един трезор. Истинската мрежа няма да работи така обаче, така че сега сме фокусирани върху прилагането му по правилен начин, като караме клиентите да влизат в своята секция и да поддържат връзки към множество старейшини. Това ще ни позволи най-накрая да започнем тестваме SAFE клиентските библиотеки в интеграция с множество трезори.

SAFE Network програма UX — Трезори

 

@jimcollinson направи видео представяне на работата, която вършим по потребителското изживяване на трезорите.

Check it out for a rundown on how you’ll be able to use one to create an account, or offer up your spare resources to earn Safecoin:

Вижте го за да придобиете представа за това как ще можете да създадете акаунт или да предложите свободните си ресурси, за да спечелите Safecoin:

 

SAFE Network програма (десктоп)

План на проекта

Поправихме няколко малки грешки в приложението на SAFE Network, включително и тази, която пречеше на създаването на акаунт чрез потребителския интерфейс. Скоро ще има актуализация на този алфа канал, макар че току-що забелязахме проблем с автоматичното актуализиране в него, така че тази актуализация може да се нуждае от ново изтегляне на приложението SAFE Network Alpha. Ще пишем във форума след като имаме информация.

С тази актуализация ще преминем към бета версия на функционалността на удостоверителя. Единствената пречка, която имаме тук, която беше основен фокус през последната седмица, е подготовката на authd приложенията и CI представянето. Успешно настроихме процеса на изграждане на authd с помощта на действията на GitHub и трябва само да получим подписването на кода и нотариалното заверяване, настроени там, преди да можем да преминем към по-редовни актуализации както на authd, така и на safe-cli (което ще ни позволи да пускаме и нови версии на SAFE Network App също така!)

SAFE Network програма (мобилни устройства)

План на проекта

Преди време бяхме започнали работа по екраните (LaunchPage и CreateAccountOnBoarding) за приложението SAFE Network за мобилни устройства, но поради множество малки изисквания за преструктуриране, не можахме да ги обединим. Тази седмица съживихме тези по-стари PR-и, реконструирахме ги и ги обединихме в основния клон. С обединените PR-и  имаме някои от началните страници за приложението. В следващите седмици, когато ще се съсредоточим повече върху приложението SAFE Network за мобилни устройства, ще започнем с коригирането на някои проблеми със стиловият интерфейс на тези страници.

SAFE браузър (десктоп)

План на проекта

Намерение ни беше да пуснем алфа версия на SAFE браузъра в края на миналата седмица, но решихме, че има смисъл да отложим, докато актуализираните версии на приложението SAFE Network, SAFE CLI и API-тата не бъдат пуснати, защото ще има нарушаващи промените в тях, което ще означава да поддържаме съвместимост между всички приложения, затова актуализациите ще бъдат пуснати навсякъде. След като всичко се подреди с тези други хранилища, ще пуснем алфа версията и както винаги ще ви уведомим чрез форума.

SAFE Удостоверител (мобилни устройства)

План на проекта

Актуализирахме родните библиотеки до най-новия safe_authenticator за мобилното приложение, за да поддържаме всички нови промени в API-то. Тъй като новите API-та не използват покани и се придвижихме до тестови койни, вместо да използваме мутации, премахнахме всички API-та, свързани с поканите и информацията за акаунта. Потребителският интерфейс на приложението също беше актуализиран, за да отразява същите промени.

Също така актуализирахме диалоговия прозорец за заявка за удостоверяване, за да покажем исканите разрешения за тестване на монети и PR за това в момента се преглежда и тества.

Приложенията и техните файлове са изолирани в мобилните телефони и затова не е лесно да актуализирате или заменяте файловете vault_connection_info.config за кое да е приложение. Този файл съдържа информацията, необходима за свързване на клиента с трезор.

За да се справим с този проблем при мобилните устройства,  работим върху малка функция към приложението за удостоверяване, която да ви помогне да управлявате файловете за връзка с трезор. Тази седмица внедрихме и тествахме тази функция като нов раздел в настройките на приложението за удостоверяване. С тази функционалност, налична от следващото издание, можете да имате множество файлове за връзка в приложението за удостоверяване и лесно да превключвате между тях, за да се свържете с различни работещи трезори с тестова цел. Може да са необходими някои финални щрихи, за да бъде по-лесно за използване и разбиране.

SAFE App C#

План на проекта

Тази седмица по време на тестване забелязахме, че основните iOS библиотеки, генерирани от safe-ffi, които изпращаме като част от NuGet пакета, не работят както се очаква. Файловете на библиотеките показват някои проблеми с грешки в сегмента и не позволяват на разработчиците да изпълняват кода на симулатор или физически устройства. След много опити и грешки изглежда проблемът е свързан с най-новите SDK. Понастоящем не сме сигурни какъв е най-добрият начин да разрешим това, но щом го разберем ще пуснем още един предварителен NuGet пакет.

Стареене на възел (Node Ageing)

План на проекта

Все още напредваме в покачването на рейтинга от Възрастен към Старейшина и понижаването от Старейшина към Възрастен. Останаха за решаване няколко неуспешни теста и успяхме да извлечем части от него и да го слеем по-рано, за да можем да опростим окончателната интеграция.

За справянето с изключването чрез проследяване на отпадането на връзките, решихме проблема с масовото проучване чрез новия модел на тестване. Решихме обаче малко да забавим сливането на работата. Това позволява да се обединят първо други работи, по които работим и позволява тази критична промяна да бъде напълно тествана и проверена.

Освен това разширихме и почистването на активни връзки и ще можем да го завършим, след като задачата по покачването на рейтингите е завършена.

BLS

План на проекта

Поправихме проблеми и частни случаи, които бяха идентифицирани, включително този, който ни създаваше проблеми при тестовете. Работим по останалите планирани задачи и оставащите корекции на грешки, но първо сме фокусирани върху Стареенето на възлите.

Полезни линкове

Подробна информация може да намерите както винаги във форума на международната общност: SAFE Network Forum

Ако имате въпроси може да ги зададете във Facebook групата на българската SAFE общност: https://www.facebook.com/groups/SafeNetworkBulgaria/

Ако искате да следите последните новини заповядайте във Facebook страницата на SAFE Network България: https://www.facebook.com/SafeNetworkBulgaria/