Safe Network новини 🇧🇬 17.9.2020

Накратко

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

  • Успяхме да клонираме crdt_tree хранилището и да го изградим с cargo build в прототипа на safe_fs файловата система, окуражаващ резултат в развитието му.
  • Новите ни асинхронни компоненти си взаимодействат повече всеки ден, като Safe Клиента вече може да получава събития и грешки от мрежата, а трезорите вече обслужват събития.
  • Напълно асинхрония трезор направи огромна стъпка тази седмица с този PR, който беше повдигнат и сега преминава през нашия процес за преглед.
  • Днес беше повдигната значителна корекция на грешки в маршрутизирането - PR, което разрешава почти всички грешки от премахването на parsec.

CRDT

safe_fs

Работата по прототипа (само на локално ниво) на safe_fs файловата система продължава и тази седмица. Добавена е поддръжка за специфични за OS (POSIX, Windows) атрибути на inode, напр. uid, gid, режим на POSIX и скрит, само за четене, компресиран, криптиран в Windows. Те трябва да направят safe_fs по-полезни като решение за архивиране / възстановяване на локални файлове.

Поставихме си за цел тази седмица да клонираме crdt_tree хранилището и да го изградим с cargo build. Това упражнява съществено файловата система. Първоначално използването на паметта ще се увеличи бързо поради съхранението на съдържанието на файла вътре в inode (в crdt_tree метаданни) и освен това е необичайно бавно поради използването на големи разредени файлове, които се копират многократно в паметта. Прехвърлихме го към преминаващ тип система, където съдържанието на файла (само) се съхранява в основната дискова файлова система. Това се представя достатъчно добре, така че най-накрая успяхме да завършим цялостно изграждане, което е обнадеждаващо. Също така започнахме да изпълняваме някои инструменти за тестване на файлова система срещу него, за да идентифицираме всякакви други проблемни области.

Safe Клиентски библиотеки, Трезори и qp2p

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

Safe Клиентът вече може да слуша мрежата, използвайки qp2p потока, който е инициализиран в мрежовия bootstrap. Мрежовите заявки все още ще използват свои собствени потоци, за да поддържат обработката на отговорите гладко. Но това ни дава възможност да получаваме събития (напр. „TransactionValidated“) или грешки (напр. „InvalidTransaction“) от мрежата.

Трезорите също са настроени да обслужват събития. Трябва да се извърши преосмисляне и малко преструктуриране, за да се вкара това в основния клон, но със слушателя и изпращането на събитието сме в много добра позиция по пускането на AT2 клиентът и тестовете на Safe Клиентските библиотеки.

Асинхронните Трезори също напредват добре заедно с останалите модули, преминали през асинхронната революция тази седмица, като този PR е скок към напълно асинхронен двоичен код на Трезора. Въвеждането на async/await във всички модули в Трезора също ни позволи да преструктурираме средата за тестване на трезора, за да можем да създадем и тестваме цялостна мрежа с асинхронните трезори. Пълноценните секции стават все по-стабилни, когато ги интегрираме, отстраняваме грешки и ги поправяме с новия модул за асинхронно маршрутизиране. Със слушателите / отговарящите, настроени в SCL и трезорите, клиентските тестове са последната спирка в процеса, за да завършим изграждането на прототипна фермерска мрежа.

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

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

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

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

Създадохме PR, поправящ някои от грешките, останали след премахването на parsec. Той ремонтира модула DKG, като поправя някои крайни случаи и го улеснява, като същевременно решава някои проблеми около преместванията. Тестовите неуспехи спаднаха доста с този PR, но все още не са на нула. Има още работа за вършене, но изглежда се свързва добре с работата по CRDT, която започнахме.


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