水銀
このリポジトリには、バックグラウンドサービスとコマンドラインツールで構成されるインフラストラクチャバックエンドが含まれていることに注意してください。優れたユーザーエクスペリエンスのために、バックエンドまたは電子ベースのスタンドアロンアプリケーションバイナリの上にノード.jsに組み込まれたWebフロントエンドを使用して、バックエンドとWebフロントエンドの両方をバンドすることができます。
インターネットは、ピア通信にオープンおよび配布されたピアを提供するように設計されていますが、携帯電話とPCにはもうそれがなく、データセンターのサーバーのみがあります。 ISPとホームルーター(NATなど)の後ろで閉鎖されるため、通信するには仲介者が必要です。これらの仲介者は、重いベンダーのLockinであなたを結び付けます:あなたの古い身元とデータを犠牲にすることなく、サービスプロバイダー(電子メール、ソーシャルネットワーク、オンラインストレージなど)を変更することはできません。彼らの最大の人々は、店舗のすべての支払いに課税することで生計を立て、ターゲット広告とあなたのデータをパートナーに販売するために常にあなたをスパイし、通常、政治的アジェンダやその他の理由であなたを妨害または検閲します。
マーキュリーは、これらすべてからあなたを守ることを目指しています。あなたのアイデンティティは、あなただけが所有する暗号化キーの上に構築されています。これらのキーは使い捨てであるため、仕事、家族、趣味など、必要な限り多くの無関係なプロファイルにデジタルフットプリントを分割できます。データストレージと通信は、サービスプロバイダーやアプリケーションを変更し続けることができるこのようなプロファイルを中心に編成されています。データは、その一部を特定のピアまたは一般の人々と共有することにするまで暗号化されます。ネットワークは、暗号化されたピアからピアコミュニケーションの上に真に配布され、構築されているため、安全です。独自の制御下で完全なノードをネットワークに追加し、信頼できるノードのライトクライアントとしてエンドデバイスを使用できます。最終的には、仲介者や仲介者を取り除き、人、ビジネスをクライアント、さらにはマシンと直接結び付けることができます。
MercuryはCellular Mobileネットワークに多少似ており、SMS、コール、データ接続、プッシュ通知などに似た機能を提供しますが、
MercuryのID、データ、および関係モデルは、W3C分散IDおよびW3C検証可能な資格情報/クレームと同じビジョンを持っていますが、レガシーWebstackサポートの過剰な負担を負わずに根本的に簡単です。 Mercuryのストレージレイヤーは、Eg Sidetreeと同様に、コンテンツにかなえるネットワークの原則に基づいて構築されています。
ユーザーエクスペリエンスIOPがクライアント側に目的とするユーザーエクスペリエンスを示すために準備されたUIデモバイナリに興味がある可能性が最も高いでしょう。それ以外の場合は、(つまり、ネットワークバックエンドの展開)自分でコードベースをコンパイルして展開する必要があります。以下のDebianベースのシステムにインストール手順を準備しましたが、他のプラットフォームでもあまり変わりません。
ubuntuでsudo apt install rustc ...実行することにより、事前に構築されたOSパッケージとしてRustをインストールできます。ただし、最も簡単で最も便利な結果については、Rustupサイトで次の手順を提案しますcurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh代わりに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 、複数の異なる暗号スイートと暗号化コンポーネント(パブリックおよびシークレットキー、ID、署名など)の統一されたシリアル化の階層的決定論的キー生成を提供します。keyvaultの実装をW3Cの分散型IDと整列させdid 。claim 、一般的に証明書、社会的関係、共有可能なユーザーデータの基盤として検証可能な請求を実装しますprometheus 、あなたのアイデンティティとクレームを処理するためのバックエンドライブラリと、外部GUIにライブラリコールを公開するためのデーモンバイナリを提供しますprometheus-cli 、このデーモンの最も単純なユーザーインターフェイスとしてコマンドラインツールを実装していますhome-protocolには、ネットワーク通信の基本が含まれており、ネットワークを操作するホームノードによって提供されるサービスと、クライアントがこれらのサービスを使用する方法を定義しています。 File protocol/mercury.capnp cap'n'protoを使用した単純なネットワークプロトコルについて説明しmercury-capnp/mod.rsには、錆のクライアントとサーバーの実装が含まれます。home-nodeプロトコルのサービスをクライアントに提供することにより、サーバー側を実装します。connect 、プロトコルのクライアント側を実装します。これには、プロファイルを管理する管理者APIと、分散アプリケーションを作成するための一般的なビルディングブロックを提供するDAPP SDKが含まれます。examples/TheButtonは、DAPPSDKに基づいて構築されたサンプル分散アプリケーションですtestとprometheus-testは、異なる箱の間の統合テストが含まれています。storageは、IPF、BitTorrent、StoreJなどを単純なプラグインとして使用できるハッシュベースの「インデックス」を使用した一般的なストレージレイヤーの実験が含まれています。forgetfulfuseは、一時的にのみ読み取る可能性のあるファイルシステムを使用した実験が含まれています。Copyright©2017-2019、Pa分散型社会財団、ペンシルベニア州