Safe Network новини 🇧🇬 10.9.2020

Накратко

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

  • Основния PR за преструктуриране премахването на parsec е обединен в главен клон на маршрутизацията. :tada:
  • Интеграцията safe_fs FUSE напредва добре, след като внедрихме в паметта (локална) файлова система с доказателство за концепция, използвайки crdt_tree, която поддържа редовни операции с директории и файлове, плюс символни връзки и твърди връзки.
  • Превключването на safe_vault контейнера, към парадигмата async / await, вече е в ход, като прехвърлянето почти е направено, а интеграцията с другите асинхронни контейнери напредва добре.

CRDT

safe-fs

През последната седмица екипът направи допълнителен преглед на crdt_tree кода и направихме някои незначителни подобрения, като вграждане на функции, регистриране и коментари.

Може би по-вълнуващо, работата напредва по интегрирането на safe_fs FUSE. Успяхме да внедрим доказателство за концепцията в паметта (локална) на файловата система, използвайки crdt_tree, която поддържа редовни операции с директории и файлове, плюс символни връзки и твърди връзки. Остава много работа, но е добро постижение да бъдете в състояние да монтирате файловата система и да взаимодействате с нея.

Safe Клиентски библиотеки и qp2p

Safe Трансфери План на проекта
Safe Клиентски библиотеки План на проекта
Safe Трезор План на проекта

През последната седмица отбелязахме по-нататъшен напредък в quic-p2p (сега: qp2p), като потоците бяха изложени, за да позволят прослушване на мрежовите събития. Повторното използване на потоци за множество съобщения, което беше добавено наскоро, изискваше дължината на съобщението да бъде известна предварително. За да улесним това изискване, заедно с други метаданни, като флагове за съобщения, сега сме формализирали заглавията на съобщенията, които ще бъдат изпращани по мрежата, преди да се изпратят самите съобщения. Форматът е следния:

Version Message length User message flag Reserved
2 bytes 4 bytes 1 byte 2 bytes

Това стандартизира начина, по който съобщенията се изпращат по мрежата, като същевременно ни позволява да въведем обратна съвместимост с помощта на флага на версията.

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

Успоредно с това, оправихме някои проблеми по отношение на Непрекъсната Доставка, хващайки проблем с генерирането на промени в Safe-ND (сега: sn_data_types) и поправихме генерирането на GitHub версии. Това повече или по-малко завършва първия CD процес за едно от нашите Rust хранилища, така че ще се стремим да го разпространим към другите, тъй като наистина опростява нещата там.

С първата итерация на асинхронното маршрутизиране, почти приключила миналата седмица, следващата стъпка е safe_vault контейнера. Работим върху него за да последва async / await парадигмата и след като пренасянето почти приключи, сега интегрираме и отстраняваме грешките на всички асинхронни контейнери в унисон, за да стартираме секция и да започнем да изпълняваме тестове e2e в реална мрежа (без макетни примери). Това ще ни помогне да идентифицираме проблемите в реалния свят и да ги разрешим, преди да ги представим на общността.

Маршритизиране

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

Тази седмица обединихме основното преструктуриране за премахване на parsec в главния клон :tada:

Все още има текуща работа за разрешаване на няколко останали проблеми с премахването на parsec, но сме уверени, че тези проблеми са формалност. Междувременно Адам работи и върху подобрения в процеса на DKG, които също трябва да разрешат някои проблеми, които наблюдаваме след премахването на parsec. За да обобщим, не е необходимо да има повече от една DKG сесия на компютър, трябва да има само най-актуалната (съответстваща на най-новото разделяне). Повече подробности ще представим в PR, който трябва да бъде повдигнат през следващите дни.

Успоредно с това работата по излагането на async API-то вече се основава на най-новия главен клон. След като бъдат разгледани някои последни незначителни проблеми, този PR ще бъде прегледан и обединен. Намерението ни е, че всяка по-нататъшна неуспешна работа по разследване / разрешаване на тестове за маршрутизация ще се основава на премахването на parsec и async API-то. Това ново async API вече се използва за тестване на трезори и клиенти, което доказва, че сме на прав път.

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

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

Стандартизация

Преди няколко седмици споменахме, че предприемаме някои задачи за преименуване на хранилища и контейнери, за да ги стандартизираме. Всеки, който следи нашата дейност в GitHub, ще забележи, че през последната седмица направихме голяма крачка напред, тъй като по-голямата част от нашите хранилища и Rust контейнери сега са актуализирани до snake_case, с префикс sn_, ако е специфична за Safe Network, и двойка (засега), преименувана за да е по-точна (safe-network-signature-aggregator -> bls_signature_aggregator и safe-nd -> sn_data_types).

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


  • Подробна информация може да намерите както винаги във форума на международната общност: SAFE Network Forum
  • Ако имате въпроси може да ги зададете във Facebook групата на българската SAFE общност: https://www.facebook.com/groups/SafeNetworkBulgaria/
  • Ако искате да следите последните новини заповядайте във Facebook страницата на SAFE Network България: https://www.facebook.com/SafeNetworkBulgaria/