SafeNetwork открий новия интернет

SAFE Network новини – 16.1.2020

Накратко

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

  • Със следващата версия на safe-cli ще можете да инсталирате authd, като просто въведете командата $ safe auth install, а за да актуализирате с командата $ safe auth update.
  • През изминалата седмица различни предложения от общността бяха включени в най-новата версия на RFC за уточняване на типове данни.
  • Приключихме с BLS проекта, както и със Сигурната доставка на съобщения, за която липсваше само зависимостта от BLS, и актуализирахме картата на проекта :tada:

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

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

Миналата седмица обявихме, че успяхме да пуснем редица Трезори, които да се свържат помежду си и да образуват Секция с помощта на API-то за маршрутизиране. Изпълнихме редица тестове от SAFE Клиентските библиотеки спрямо тази Секция и първоначалните резултати са обещаващи. Това означава, че интеграцията между различните компоненти като Трезори, Маршрутизация, PARSEC и quic-p2p работи както се очакваше.

Въпреки това имаше и някои проблеми. Някои от тестовете не успяха и върнаха грешка RequestTimeout, тъй като секцията не успя да отговори на някои от заявките. Проучваме това и с някои проверки вече имаме повече информация. Трезорите се работят от виртуални машини в DigitalOcean и докато обработват редица едновременни заявки, процеса на Трезора понякога се спира от OOM Killer поради необичайно използване на паметта.

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

SAFE API

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

Завършихме с добавяне на поддръжка за изтегляне на нови версии от Amazon S3, което беше необходимо safe-authd файловете. Safe-authd вече може да се самоактуализира, като проверява текущата си версия спрямо най-новата версия, налична в S3. Това е готово за добавяне и публикуване, просто чакаме новата версия на зависимостта, която използваме (self_update) за такива актуализации, която трябва да бъде налична скоро.

Възможността за изтегляне на safe-authd версиите от S3 ни позволи да добавим няколко команди към safe-cli за инсталиране и актуализиране на safe-authd, което много опростява процеса за потребителите. Със следващата версия на safe-cli ще можете да инсталирате authd, като просто въведете командата $ safe auth install, като ще можете лесно да актуализирате authd с $ safe auth update.

През последните няколко дни възобновихме задача, която стартирахме в края на миналата година състояща се в опит да се изложим API-тата в safe-api като async функции, плюс опит да мигрираме внедряването на authd да използва асинхронизация/изчакване вътрешно, а чрез използването на фючърси. Постигнахме известен напредък излагайки API-тата като функции на асинхронизация (въпреки че вътрешно все още не са напълно асинхронизирани) и ще се опитаме да разберем дали връзките на safe-nodejs могат да бъдат променени, за да върнат обещания при извикване на асинхронизираните API-та. На този етап виждаме това като паралелна задача, по която искаме да напреднем, но не се отнасяме към нея с изключително висок приоритет, просто се опитваме да видим какви предизвикателства ще има за такава миграция.

Етикети за данните, индексиране и оторизиране на маркери

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

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

Освен това увеличихме тестовото покритие на създаване на маркери и простата проверка ни дава нещо много по-полезно.

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

Уточняване на видовете данни

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

Различни предложения от общността през изминалата седмица бяха включени в най-новата версия на RFC-а. Благодарим на @david-beinn@tfa@JPL@dask и @jlpell за приноса им, както и на многото други за участието им в дискусиите.

SAFE Network програма

Тази седмица SAFE Network App функцията за проследяване пулсираше усилено, докато работихме върху UX дизайна на индивидуалните разрешения за данни на файловете и приложенията.

Това е една от онези области, които започват като изглеждат доста прости – „Да, ще се справим с това за ден или два“ – и тогава сложността бързо се разгръща – „О, не:open_mouth:, и след като се мине през итерациите се стига до простото – „Отне ви колко време?:sweat_smile:.

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

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

SAFE App C#

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

Тази седмица направихме някои подобрения в нашата настройка за CI-то. Тези промени позволяват на CI автоматично да създаде черновата версия в GitHub от пътя за пускане на нови версии, когато се повдигне PR за промяна на версия. Използвайки същата настройка, пуснахме нов RC (Кандидат за пускане – Release Candidate) на пакета MaidSafe.SafeApp NuGet.

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

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

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

Safecoin фермерство

RFC

Тази седмица @danda написа малка симулация на потока за възнаграждение на фермерството в тестова мултисекционна мрежа с много трезори, започваща с PUT заявка (заявка за качване) на един клиент. Симулацията е написана на интерпретиран език като бърз / груб инструмент за бързо прототипиране и обучение без планове за публично пускане. Наблюденията и информацията, извлечени от това, влизат в бележките / дискусиите ни и в крайна сметка ще влязат в документацията за изработка. Той също започна диаграмиране на потока за фермерство и започва нов RFC документ, специфичен за възнагражденията при фермерството, който има за цел да осигури повече специфики и яснота.

@oetyng също намери време за създаване на прототипи и дискусии с другите членове на екипа, особено около подробностите за интеграция на PARSEC и напредва в документа за потока на наградите/фермерството, който ще бъде включен в новия RFC.

Стареене на възел (Node Ageing)

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

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

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

BLS

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

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

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

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

Полезни линкове

Подробна информация може да намерите както винаги във форума на международната общност: SAFE Network Forum

Ако имате въпроси може да ги зададете във Facebook групата на българската SAFE общност: https://www.facebook.com/groups/SafeNetworkBulgaria/

Ако искате да следите последните новини заповядайте във Facebook страницата на SAFE Network България: https://www.facebook.com/SafeNetworkBulgaria/