수은
이 저장소에는 배경 서비스 및 명령 줄 도구로 구성된 인프라 백엔드가 포함되어 있습니다. 좋은 사용자 경험을 위해 백엔드와 웹 프론트 엔드를 번들로운 백엔드 또는 전자 기반 독립형 애플리케이션 바이너리 위에 Node.js에 내장 된 웹 프론트 엔드를 사용할 수 있습니다.
인터넷은 개방적이고 분산 된 피어 투 피어 커뮤니케이션을 제공하도록 설계되었지만 휴대 전화와 PC에는 더 이상이를 가지고 있지 않으며 데이터 센터의 서버 만 있습니다. ISP와 홈 라우터 (예 : NAT) 뒤에 폐쇄되므로 의사 소통을하려면 중개자가 필요합니다. 이 중개자는 무거운 공급 업체 Lockin에 의해 당신을 연결합니다. 기존 신원과 데이터를 희생하지 않으면 서 서비스 제공 업체 (이메일, 소셜 네트워크, 온라인 스토리지 등)를 변경할 수 없습니다. 그들 중 가장 큰 사람은 상점에서 모든 지불에 세금을 부과하여 생계를 유지하고, 대상 광고와 데이터를 파트너에게 판매하는 것에 대해 끊임없이 감시하고, 일반적으로 정치적 의제 또는 기타 이유에 대해 방해하거나 검열합니다.
머큐리는이 모든 것으로부터 당신을 보호하는 것을 목표로합니다. 귀하의 신원은 귀하가 소유 한 암호화 키를 기반으로합니다. 이 키는 일회용이므로 디지털 발자국을 예를 들어 직장, 가족 및 취미를 위해 필요한만큼 관련없는 프로파일로 나눌 수 있습니다. 데이터 저장 및 통신은 서비스 제공 업체 나 애플리케이션을 계속 변경할 수있는 프로파일을 중심으로 구성됩니다. 귀하의 데이터는 특정 동료 또는 일반 대중과 IT의 일부를 공유하기로 결정할 때까지 암호화됩니다. 네트워크는 진정으로 배포되고 암호화 된 피어 대 피어 커뮤니케이션을 기반으로하여 안전합니다. 자신의 컨트롤 하에서 네트워크에 전체 노드를 추가하고 최종 장치를 신뢰하는 노드의 가벼운 클라이언트로 사용할 수 있습니다. 결국 당신은 중개자 나 중개인을 제거하고 사람, 비즈니스를 고객 또는 기계와 직접 연결할 수 있습니다.
Mercury는 셀룰러 모바일 네트워크와 다소 유사하며 SMS, 통화, 데이터 연결, 푸시 알림 등과 유사한 기능을 제공하지만
Mercury의 신원, 데이터 및 관계 모델은 W3C 분산 ID 및 W3C 검증 가능한 자격 증명/클레임과 동일한 비전을 가지고 있지만 레거시 웹 스택 지원의 과도한 부담없이 근본적으로 더 간단합니다. Mercury의 스토리지 계층은 EG SideTree와 유사하게 콘텐츠하시는 네트워크 원칙을 기반으로합니다.
사용자 경험이 클라이언트 측의 목표를 보여줄 준비가 된 UI 데모 바이너리에 관심이있을 가능성이 높습니다. 그렇지 않으면 (즉, 네트워크 백엔드 배포) 여전히 코드베이스를 직접 컴파일하고 배포해야합니다. 아래의 데비안 기반 시스템에서 설치 단계를 준비했지만 다른 플랫폼에서도 크게 다르지 않아야합니다.
Ubuntu에서 sudo apt install rustc ... 실행하여 Rust를 미리 빌드 OS 패키지로 설치할 수 있습니다. 그러나 가장 쉽고 가장 편리한 결과를 얻으려면 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 에는 Rust 용 클라이언트 및 서버 구현이 포함되어 있습니다.home-node 클라이언트에 프로토콜의 서비스를 제공하여 서버 측을 구현합니다.connect 프로토콜의 클라이언트 측을 구현합니다. 여기에는 프로파일을 관리하기위한 관리자 API와 DAPP SDK가 포함되어 있으며 분산 애플리케이션을 생성하기위한 일반적인 빌딩 블록을 제공합니다.examples/TheButton DAPP SDK에 구축 된 샘플 분산 응용 프로그램입니다.test 및 prometheus-test 다른 상자 간의 통합 테스트가 포함되어 있습니다.storage 에는 IPF, Bittorrent, Storej 등을 간단한 플러그인으로 사용할 수있는 해시 기반 "인덱싱"을 사용하여 일반 저장 레이어에 대한 실험이 포함되어 있습니다.forgetfulfuse 에는 일시적으로 만 읽을 수있는 파일 시스템을 사용한 실험이 포함되어 있으며 민감한 데이터를 보호하는 데 사용될 계획, 예를 들어 키.Copyright © 2017-2019, DECENTROUD Society Foundation, PA