SAFE Network новини - 11.6.2020

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

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

Обещахме ви нова играчка и днес е при вас :tada:

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

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

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

Още един важен момент e достигнат :rocket:

SAFE API

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

Работата по символните връзки продължава. Последната стъпка е да се даде възможност за разрешаване на символни връзки в SafeUrl пътя. Повечето езици за програмиране имат функция realpath () (или еквивалентна), която премахва . / И заменя ../ и всяка символна връзка в пътя, както е подходящо, за да генерира окончателен истински път. Тази седмица написахме функция realpath (), която разбира метаданните в „FileContainer“ и се извиква в „Safe::fetch ()“ API-то, така че ще работи за всички заявки към SafeUrl за поддробности. Остават някои подобрения и тестове, но се надяваме, че PR-а може да бъде готов в началото на следващата седмица с пълна поддръжка на символните връзки.

CRDT

През изминалата седмица се съсредоточихме върху клиентската страна на CRDT Последователността, като започнахме със създаването на някои първоначални E2E тестове на safe-api хранилището и ги пуснахме срещу тестовата Секция на Бейби Флеминг. Успешно осъществихме множество основни сценарии, работещи за създаване на съдържание от Последователността, добавяне и извличане на данни от нея. Също така мигрирахме FilesContainers и NRS контейнерите, да използват CRDT Последователността (вместо AppendOnlyData типа) и всички тестове на E2E също преминават в Бейби Флеминг секцията.

Работихме и върху добавянето на LRU (Най-малко използван наскоро) кеш от страната на клиента, където се държи локалната CRDT реплика. Ще трябва да проучим повече какви стратегии можем да използваме по отношение на актуализиране на кешираното съдържание, напр. ако дадено приложение използва някакво съдържание, споделено с други клиенти, то може да иска да се обновява с определена често, въпреки че собствените му мутации винаги ще бъдат обединени в мрежата, но ще проучим повече възможностите, свързани с това, след като имаме всички основни сценарии за един активен клиент, напълно функционален от край до край.

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

Трансфери

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

Интеграцията на SAFE Клиентските Библиотеки напредна добре през последната седмица. Актуализирахме основната библиотека за новите транзакции в стил AT2 и започнахме с основната интеграция на TransferActor. Това ще бъде обвивна структура, която ще премахне голяма част от логиката на заявката и управлението, които преди това се обработваха в API-тата на клиентския слой, което ни дава малко повече модулност. Започнахме да тестваме това и напредваме с актуализирането на тестовете в основната библиотека като цяло.

Беше седмица с химикалки и хартия за AT2 safe-vault и safe-transfers. Сега проектираме и създаваме механизъм (SectionActor), който поема отговорността за Парите, които се плащат от клиентите за данните, които качват. Секциите в SAFE мрежата ще имат свои акаунти, които се поддържат от този разпределен „SectionActor“, разположен при старейшините на конкретната секция. Когато клиент плати за качване на данни, парите се кредитират в акаунта на секцията за съхранение на данни, а „SectionActor“ ще е отговорен за разпределението на наградите към трезорите, които са свършили работата (за съхранението). Тази работа е свързана с фермерството, където в момента тестваме разделени на части награди с пакетни изплащания. Подобряваме и усъвършенстваме този поток, докато продължаваме напред с прилагането му едновременно навсякъде.

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

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

Работата по премахване на Parsec върви напред с пълна скорост. Миналата седмица споменахме, че ще направим всички данни в споделено състояние, да се подписват с подписите на BLS, за да ги направим самовалидни. Тази работа донесе някои неочаквани усложнения по-рано тази седмица и така ни отне повече време, отколкото очаквахме. Но изглежда, че най-трудните въпроси вече са решени, а това, което остава, е сравнително ясно. Очаквайте скоро PR.

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

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