汞
请注意,该存储库包含由背景服务和命令行工具组成的基础架构后端。为了获得良好的用户体验,您可以使用Node.js内置的Web前端,或基于电子的独立应用程序二进制文件将后端和Web Frontend捆绑在一起。
互联网旨在为同行通信提供开放和分发的同行,但是您的手机和PC不再存在,只有数据中心的服务器。您在ISP和家用路由器(例如NAT)后面关闭,因此您需要中介进行交流。那些中介机构由重型供应商Lockin与您联系:您无法更改服务提供商(考虑电子邮件,社交网络,在线存储等),而无需牺牲您的旧身份和数据。他们中最大的是谋生,以征税您的商店中的所有付款,不断监视您将目标广告和数据出售给合作伙伴,通常是出于政治议程或任何其他原因而阻碍或审查您。
水星旨在保护您免受所有这些影响。您的身份建立在您独自拥有的密码键上。这些钥匙是一次性的,因此您可以根据需要将数字足迹分成尽可能多的无关的配置文件,例如工作,家庭和爱好。数据存储和通信是围绕这些配置文件组织的,您甚至可以继续更改服务提供商或应用程序。您的数据已加密,直到您决定与特定的同伴或公众共享一部分。该网络是真正分布和构建的,并建立在加密的同行到同行通信的基础上,因此您是安全的。您可以在自己的控件下将完整的节点添加到网络中,并将最终设备用作信任节点的点客户端。最后,您可以摆脱中介机构或中间人,直接将人,业务与客户甚至机器联系起来。
水星与蜂窝移动网络有些相似,它提供了类似于SMS,呼叫,数据连接,推送通知等的功能,但是
Mercury的身份,数据和关系模型具有与W3C分布式ID和W3C可验证的凭据/索赔相同的愿景,但从根本上简单而没有承担过多的传统WebStack支持负担。 Mercury的存储层建立在与内容可容纳的网络原理上,类似于Sidetree。
您最有可能对准备演示iop的用户体验目标的UI演示二进制文件感兴趣。否则(即部署网络后端)您仍然必须自己编译和部署代码库。我们已经在下面的基于Debian的系统上准备了安装步骤,但是在其他平台上也不会有太大差异。
您可以将Rust作为预先建造的OS软件包安装,例如在Ubuntu上运行sudo apt install rustc ... 。但是,以最简单,最方便的结果,我们建议按照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 Profile Server和IOP Connect的重新设计和高级版本,这是朝着正确方向迈出的一步,但缺乏我们视觉的几个功能,是由离开社区且难以修复和维护的开发人员创建的。
请注意,该项目仍处于早期和实验阶段。我们打开了源代码,以向有兴趣开发水星本身或在其上构建分布式应用程序的开发人员进行偷看。我们希望有反馈以最早的阶段学习问题,缺少功能的优先级以及您尚未想到的要求。
我们认为对体系结构具有最初的功能实现。仍然有很多重要组件要添加,现有的组件可能会更改或重新设计,并且仍然缺乏文档。
实验功能已经可用:
现有服务器和客户端的粗糙边缘是
缺少重要的部分是
该项目的目录/板条箱是
keyvault为多个不同的密码套件和加密组件(公共和秘密密钥,ID,ID,签名等)的统一序列化提供了层次的确定性密钥生成。did我们的keyvault实施与W3C的分散身份相一致。claim将可验证的索赔作为证书,社会关系和可共享用户数据的基础prometheus提供了一个可处理您的身份和索赔的后端库,以及一个守护程序二进制文件,用于将库的电话暴露给外部Guisprometheus-cli将命令行工具作为此守护程序的最简单用户界面实现home-protocol包含用于网络通信的基础知识,定义由操作网络的家庭节点提供的服务以及客户如何使用这些服务。文件protocol/mercury.capnp用cap'n'proto描述了一个简单的网络协议,而mercury-capnp/mod.rs包含Rust的客户端和服务器实现。home-node通过向客户提供协议的服务来实现服务器端。connect实现协议的客户端。这包括管理您的配置文件的管理API和一个DAPP SDK,提供了共同的构建块来创建分布式应用程序。examples/TheButton是在DAPP SDK上构建的样本分布式应用程序test和prometheus-test包含不同板条箱之间的集成测试。storage使用基于哈希的“索引”在通用存储层上包含实验,该“索引”可以使用IPF,Bittorrent,StoreJ等作为简单的插件。forgetfulfuse包含具有仅临时可读的文件系统的实验,计划用于保护敏感数据,例如您的键版权所有©2017-2019,分散社会基金会,宾夕法尼亚州