Меркурий
Обратите внимание, что этот репозиторий содержит бэкэнд инфраструктуры, состоящий из фоновых служб и инструментов командной строки. Для хорошего пользовательского опыта вы можете использовать веб-фронт, встроенный в node.js на вершине бэкэнд или автономных вариантов на основе электронов, объединяющих как бэкэнд, так и веб-фронт.
Интернет был разработан, чтобы обеспечить открытые и распределенные одноранговые к одноранговому общению, но ваш телефон и ПК больше этого не имеют, только серверы в центрах обработки данных. Вы закрыты за интернет -провайдерами и домашними маршрутизаторами (например, NAT), поэтому вам нужны посредники, чтобы общаться. Эти посредники связывают вас с помощью тяжелого поставщика Lockin: вы не можете изменить поставщика услуг (рассмотреть вопрос о электронной почте, социальных сетях, онлайн -хранилище и т. Д.), Не жертвуя своей старой идентичностью и данными. Самые большие из них зарабатывают на жизнь, облагая налогом всех ваших платежей в своих магазинах, постоянно шпионит за вами за продажу целевой рекламы и ваших данных партнерам и обычно препятствуют или цензуре за политическими повестками или любыми другими причинами.
Меркурий стремится защитить вас от всего этого. Ваша личность построена на криптографических ключах, принадлежащих вами в одиночку. Эти ключи одноразовые, поэтому вы можете разделить свой цифровой след на столько не связанных с ними профилей, сколько необходимо, например, для работы, семьи и хобби. Хранение данных и связь организованы вокруг таких профилей, которые вы можете сохранить даже изменять поставщик услуг или приложения. Ваши данные зашифрованы, пока вы не решите поделиться ее частью с конкретным сверстником или широкой публикой. Сеть по -настоящему распределена и построена на зашифрованном одноранговом общении, так что вы в безопасности. Вы можете добавить свой полный узел в сеть под собственным управлением и использовать свое конечное устройство в качестве легкого клиента узла, которым вы доверяете. В конце концов, вы можете избавиться от посредников или посредников и напрямую подключить людей, бизнес с клиентами или даже машины.
Меркурий несколько похож на мобильную сеть сотовой связи, она предоставляет функции, аналогичные SMS, вызовам, соединениям данных, уведомлениям PUSH и т. Д., Но
Модель личности, данных и отношений Mercury имеет то же зрение, что и W3C -распределенные идентификаторы, а также проверенные учетные данные/претензии W3C, но радикально проще без избыточного бремени унаследованного веб -поддержки. Уровень хранилища Mercury построен на сдержанных сетевых принципах, аналогичных EG Sidetree.
Скорее всего, вы заинтересованы в демо -демориях пользовательского интерфейса, готовых продемонстрировать, каким пользовательским опытом IOP направлено на сторону клиента. В противном случае (т.е. развертывание бэкэнда сети), вы все равно должны скомпилировать и развернуть кодовую базу для себя. Мы подготовили шаги установки в системе на основе Debian ниже, но она не должна слишком сильно отличаться и на других платформах.
Вы можете установить ржавчину в качестве предварительно построенного пакета ОС, например, запустив sudo apt install rustc ... на Ubuntu. Тем не менее, для самого простого и наиболее удобного результата мы предлагаем следующие инструкции на сайте Rustup, например, curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh вместо.
Сначала вам понадобятся GIT и некоторые зависимости.
$ sudo apt install git g++ capnprotoТогда вам придется скачать и собрать источники.
$ git clone https://github.com/Internet-of-People/mercury-rust.git
$ cd mercury-rust
$ cargo buildMercury - это перепроектированная и продвинутая версия сервера профиля IOP и IOP Connect, которая была шагом в правильном направлении, но не имела нескольких функций из нашего видения, были созданы разработчиками, которые покинули сообщество и было трудно исправить и поддерживать.
Имейте в виду, что этот проект все еще находится на ранней стадии и экспериментальной фазе. Мы открыли исходный код, чтобы подглянуть к разработчикам, заинтересованным либо в разработке самого Меркурия, либо по строительству распределенных приложений. Мы хотели бы иметь обратную связь, чтобы узнать проблемы на самых ранних этапах, приоритеты отсутствующих функций и ваши требования, о которых мы еще не думали.
Мы думаем, что иметь начальную функциональную реализацию архитектуры. Есть еще много важных компонентов, которые нужно добавить, существующие могут быть изменены или переработаны, а документация все еще не хватает.
Экспериментальные функции уже доступны:
Грубые края существующего сервера и клиента
Отсутствуют важные части
Каталоги/ящики проекта
keyvault обеспечивает иерархическую детерминистскую генерацию ключей для нескольких различных комплексов шифров и объединенной сериализации криптографических компонентов (общественные и секретные ключи, идентификаторы, подписи и т. Д.).did нашу реализацию keyvault с децентрализованными идентификаторами из W3C.claim реализуют проверенные претензии в качестве основы для сертификатов, социальных отношений и общих пользовательских данных в целомprometheus предоставляет библиотеку бэкэнд для обработки ваших личностей и претензий и демона демона для разоблачения звонков библиотеки на внешние графические интерфейсыprometheus-cli реализует инструмент командной строки в качестве простейшего пользовательского интерфейса к этому демонаhome-protocol содержит основы для сетевой связи, определяя услуги, предоставляемые домашними узлами, управляющими сетью, и как клиенты могут использовать эти услуги. File protocol/mercury.capnp описывает простой сетевой протокол с cap'n'proto, в то время как mercury-capnp/mod.rs содержит реализации клиента и сервера для Rust.home-node реализует сторону сервера, предоставляя услуги протокола клиентам.connect реализацию клиентской стороны протокола. Это включает в себя административный API для управления вашими профилями и SDK DAPP, предоставляющий общие строительные блоки для создания распределенных приложений.examples/TheButton - это образец распределенного приложения, построенного на DAPP SDKtest и prometheus-test содержит интеграционные тесты между различными ящиками.storage содержит эксперименты на общем уровне хранения с использованием хеш-индексации », который может использовать IPFS, BitTorrent, StoreJ и т. Д. В качестве простого плагина.forgetfulfuse содержит эксперименты с файловой системой, которая только временно читается, планируется использовать для защиты конфиденциальных данных, например, ваши ключиCopyright © 2017-2019, Децентрализованный общественный фонд, Пенсильвания