SAFE Network новини 🇧🇬 13.8.2020

Накратко

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

  • Финализирахме първата реализация на новото quic-p2p async API, още една огромна стъпка в опростяването на кодовата ни база. В момента работим за надграждането на библиотеките ни с новите API-та.
  • Подготвихме представяне на най-новия прогрес на SAFE Network App UX.
  • Започна работа по прилагането на CRDT дървото в Rust.
  • @JPL актуализира SAFE Network Primer, за да включи всички най-нови разработки.
  • Миналият петък беше последният ден на @ravinderjangra в MaidSafe. Пожелаваме му всичко най-добро в бъдеще и му благодарим за участието му в развитието на SAFE мрежата през последните 2 години, особено за всичко, свързано с мобилните приложения и API-тата!

CRDT

safe-fs

Тази седмица започна работата по прилагането на CRDT дървото в Rust. Вчера бе постигнат важен напредък, когато кодът правилно изпълни двете проблемни условия за съвместимост, описани (и решени) в документа. Допълнителни уточнения и тестови случаи са в процес на разработка.

Фермерство

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

SAFE Клиентски библиотеки и интеграция на Трезорите

С приключването на разработката на async quic-p2p тази седмица, сега работим за повишаване на скоростта на библиотеките с по-новите API-та от quic-p2p. Преди SAFE Клиентските библиотеки имаха два варианта за комуникация - send, който изпраща заявка и чака отговор и send_only, който просто изпраща команда и не чака отговор (повече като стреляй и забрави стратегия). Сега всичко това е преместено в quic-p2p и е направено много по-просто чрез асинхронизиране/очакване на парадигмата, като същевременно прави и клиентските библиотеки по-леки. С този напредък вече няма да виждаме блокиращата грешка от quic-p2p, която се случи по-рано по време на интеграцията, както беше споменато в предишните новини.

Междувременно Трезорите също получиха подобрение, където оптимизирахме интеграцията на Трезорите и маршрутизация в PR # 1064. Всички модули вътре трябва да използват и да комуникират с Маршрутизиращият слой, което направи решаващо за нас да стабилизираме потока на обектите. С тази промяна всичко, което сега е нужно на Трезорите, е да изпратят типа Network, който след това съдържа цялата логика за опростяване на използването на API-тата на маршрутизиране.

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

Награди

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

SAFE Network App UX

Проследяване на функциите / Екрани и движение на потребителя

Първо, ако разгледате Фигма файлове по-горе, за да се запознаете с най-новите промени, трябва да забележите прилично подобрение на производителността ~~ след безмилостното ни досаждане на разработчиците на Фигма ~~.

Няколко различни новини, които да споделим с вас:

Разрешенията за приложения вече са Възможности

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

Досега наричахме това Разрешения за приложения. Но за да не антропоморфизираме приложенията и да опишем по-точно какво се случва, променяме това на Възможности.

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

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

Плаващи бутони за действие сега с описания

Използваме плаващи бутони за действие (FAB) в множество различни контексти. Въпреки че материалните указания предпочитат само една икона, като се има предвид броят на различни контексти, ние смятаме, че подобрява яснотата и използваемостта, за да включи описание на действието във FAB, така че ще видите тази промяна на различни екрани и потоци.

Подкана за влизане от външни приложения

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

Публикуване на снекбар на таймера

И последно малко обновление. Направихме промяна в процеса на публикуване, който включва снекбар с таймер за обратно отброяване, което дава на потребителя малък период за изчакване, преди да бъдат публикувани вечните данни. Това е като алтернатива на краткия прозорец за ‘отмяна’, който преди това бяхме въвели, и по-точно отразява случващото се зад кулисите.

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

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

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

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

От дебатите от миналата седмица относно работата по преместване на преструктурирането на (Премахване на преместването_на_опашката и да направим преместването независимо от реда на събития за преместване), намерихме обещаващо решение, което Адам вече е започнал да прилага. Има куп неуспешни тестове, които трябва да бъдат преодолени първо (тъй като преместването е ключова характеристика, която влияе много върху тестовата рамка), преди да се издигне официален PR.

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

Сега се опитваме да направим същата миграция в библиотеката за маршрутизация, за да използваме не само новото async quic-p2p API, но и да изложим собственото си API като async, което както беше казано по-горе ще опрости кодовата база много както в маршрутизацията, така и при трезора. Както може би осъзнавате, всичко това е вътрешно преструктуриране, ползите от което могат да бъдат трудни за наблюдение от крайните потребители, но ние сме много обнадеждени, че това ще ни позволи по-лесно да намерим и решим всички проблеми, които ще открием в бъдеще, както и да направим по-лесно да се поддържат и развиват съществуващите функции.


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