SAFE Network новини - 12.3.2020

SAFE Network новини - 12.3.2020

Накратко

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

  • Пуснахме SAFE браузър v0.16.0, който е съвместим с локалната / споделена версия на Трезора. Но не и с версията за Бейби Флеминг.
  • Пуснахме и SAFE браузър v0.17.0-alpha.0, който е съвместим с Бейби Флеминг. Но не и с локалния / споделен трезор.
  • Създадохме инсталационен скрипт за SAFE CLI. Вече е възможно да инсталирате SAFE CLI v0.9.0 с него.
  • Благодарим ви за отзивите относно версия 1 на Бейби Флеминг. Наближаваме бързо към версия 2.

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

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

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

Както може би сте виждали, повечето от тези проблеми се дължат на известно закъснение и голямо използване на паметта от Старейшините (отговарящи за клиентите). Това е така, защото всички клиентски заявки, свързани с харченето на safecoin, бяха изпращани чрез PARSEC за постигане на консенсус, преди да се обработи допълнително заявката. Това може да отнеме известно време в зависимост от размера на заявката, броя на заявките, които се обработват и т.н. Наясно сме с това и ще работим да го подобрим през следващите седмици. Имайки това пред очи, за да помогнем с тестването на останалите функции (API, CLI команди и т.н.), ще премахнем PARSEC от потока за обработка на заявки от клиентите и ще пуснем нова версия на трезора. Тестваме това вътрешно и след като сме готови, ще пуснем следващата итерация на тестовата мрежа Фаза 2a. С по-бързи времена на реакция, би трябвало да можем да пуснем и трезори, хоствани на облачни машини, което значи, че ще имаме и споделена Секция :wink:Останете на линия!

SAFE API

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

През последните няколко седмици успяхме да внедрим още няколко функции към CLI-то. Една от тях е добавянето на files rm команда, която може да се използва за премахване на файл или цял път от съществуващ FilesContainer. Това беше финализирано точно навреме, за да бъде част от Бейби Флеминг миналата седмица, така че можете да го използвате вече със SAFE CLI v0.9.0.

Веднага след пускането на Бейби Флеминг, продължихме с още една функция, която ни дава възможност да изброяваме файлове в дървовидна форма с добавяне на files tree команда, която може да бъде наистина полезна за потребителите, които се опитват да разберат йерархията на файловете в FilesContainer, например:

$ safe files tree safe://hnyynysurwzoiudugs47d7fjx7hwg3i7ch1ryowdm7gpgj4538n1mwqukgbnc
Files of FilesContainer (version 0) at "safe://hnyynysurwzoiudugs47d7fjx7hwg3i7ch1ryowdm7gpgj4538n1mwqukgbnc"
SIZE CREATED MODIFIED NAME
/
6 2020-03-03T22:31:21Z 2020-03-03T22:31:21Z ├── another.md
0 2020-03-03T22:31:21Z 2020-03-03T22:31:21Z ├── noextension
├── subfolder
4 2020-03-03T22:31:21Z 2020-03-03T22:31:21Z │ ├── sub2.md
23 2020-03-03T22:31:21Z 2020-03-03T22:31:21Z │ └── subexists.md
12 2020-03-03T22:31:21Z 2020-03-03T22:31:21Z └── test.md

Друга нова функция е да се поддържа извличане на диапазон от байтове от файл, което ще даде възможност за стрийминг за SAFE приложения. Променихме API-то за извличане, за да приемем втори (незадължителен) аргумент, който се очаква да бъде начална и крайна позиция на байтовете, които да бъдат извлечени от файла, насочен към предоставения URL адрес.

Като паралелна задача и както се очакваше от предишните новини, продължихме с миграцията към използването на Rust async/await в safe-api хранилището, задача, която стартирахме още през ноември 2019 г. и най-накрая я добавихме в основния клон, който мигрира цялата кодова база от safe-api, за да използва async/await. Тъй като се опитваме да направим тази миграция, без да засягаме други компоненти, в тази първа стъпка излагаме SAFE API-тата на Rust като async, но вътрешно те все още се заключват, когато се обаждаме към API-то на safe_client_libs. Следващата ни стъпка е да се опитаме да мигрираме не само safe_client_libs, за да разкрием API-тата на async, но и API-тата на safe-nodejs, за да могат да върнат Promises.

След цялата упорита работа на общността в темата за тестовата мрежа, преглеждаме възможността да настроим правилно тестване в CLI с помощта на Бейби Флеминг мрежата. Надяваме се, че ще успеем да направим това по начин, който ще помогне на онези от вас, които вече правят отлични тестови скриптове, за да направите пряк принос в тестовете за сравнителен анализ на мрежата. Тези тестове ще се изпълняват на CI, но също така трябва да имат за цел да бъдат достатъчно лесни за използване / промяна, така че да можем да ги използваме за тестване локално възпроизводимо ниво във всяка система.

И накрая, успяхме да създадем инсталационен скрипт за SAFE CLI. Този скрипт не само изтегля най-новата налична SAFE CLI, но и инсталира CLI в папката ~/.safe/cli/ (C:\Users.safe\cli\ в Windows), като го и задава в PATH, така че можете да стартирате safe файла от всяко място, когато отваряте конзола. Актуализирахме Ръководството за потребителя с инструкции как да използвате този метод на инсталиране на CLI. Вече е възможно да инсталирате SAFE CLI v0.9.0 с помощта на този скрипт.

Обърнете внимание, че има съобщения че скрипта за инсталиране не се добавя към PATH за zsh и fish конзоли, може да се наложи да добавите ръчно към вашия .bashrc еквивалент, ако скриптът не го добави към PATH на вашита конзола.

SAFE Network програма

Продължава работата по проектирането на потребителските интерфейси и потоци за разрешенията на файловете и споделянето.

Тази седмица започнахме разделянето на първоначално комбинираната емисия в отделни списъци с опции за достъп до програмата (App access) и споделянето (Sharing). Това прави малко по-различните потоци за всеки от тях по-ясни, а също така избягва излишното персонализиране на приложения; Достъпът до приложения е предимно за управление на достъпа ви до вашите собствени данни, а не за да предоставяте на разрешения на други потребители.

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

Готови сме и с пълното оформление на екраните с подробности за файлове, папки и етикети, както и настройки за тяхното навигиране и манипулиране.
a16da3e2a6573cfc6c5d6574b82490bd132fb1ff
Управление на файлове

Сега работим по потоците за публикуване и споделяне на файлове чрез SAFE Network програмата.
135ac9c236a1ff0c53d7102ddfd6a5a477d5d48c
Публикуване и споделяне

Относно разработката, след като актуализирахме всички зависимости, за да премахнем болезнената зависимост от openssl (и да използваме основните rust rustls), започнахме да актуализираме SAFE Network програмата, за да работи отново със CI, но също така и да е съвместима с любимата на всички Бейби Флеминг. :baby:

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

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

Тази седмица най-накрая пуснахме SAFE браузър версия 0.16.0, която има няколко подобрения: Възможност за контрол на достъпа за опростяване на уеб разработката, даваща възможност за извличане на API-то и актуализиране на safe-nodejs до 0.8.0. Но внимавайте! Това не е съвместимо с Бейби Флеминг.

За онези безстрашни хора, които искат възможността да тестват сами, предлагаме v0.17.0-alpha.0. Тази версия носи съвместимост с Бейби Флеминг, както и прескача използването на safe-nodejs библиотеката за предотвратяване на достъпа до файловата система без да минава през API-тата на браузъра (благодарим на @shane). Това все още не е напълно завършено. Планираме да дадем възможност на API-тата в браузъра да работят директно с файлови обекти, за да улесним живота на всички. Но засега това поне подобрява сигурността и ни насочва към по-финализирани API-та.

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

След като пуснахме Бейби Флеминг се заехме да актуализираме всички необходими хранилища (quic-p2p, safe_client_libs, safe-api), за да сме готови да поддържаме същия набор от функции на мобилни устройства, както и да актуализираме NuGet пакета ни. Използваме отделен клон baby-fleming-mobile във всички тези хранилища, за да проследим необходимите корекции и промени. След като получим надстройките, работещи върху CI и получим работния набор от местни библиотеки, ще тестваме API-то на C # и мобилните приложения с Бейби Флеминг и ще пуснем новите версии за мобилния удостоверител и браузър.

Маршрутизиране и quic-p2p

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

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

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

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