Air raksa
Perhatikan bahwa repositori ini berisi backend infrastruktur, yang terdiri dari layanan latar belakang dan alat baris perintah. Untuk pengalaman pengguna yang baik, Anda dapat menggunakan frontend web built in node.js di atas backend atau binari aplikasi mandiri berbasis elektron yang menggabungkan backend dan frontend web.
Internet dirancang untuk menyediakan komunikasi peer to peer yang terbuka dan terdistribusi, tetapi ponsel dan PC Anda tidak memiliki itu lagi, hanya server di pusat data. Anda tertutup di belakang ISP dan router rumah (misalnya Nat) sehingga Anda perlu perantara untuk berkomunikasi. Perantara tersebut mengikat Anda dengan vendor berat Lockin: Anda tidak dapat mengubah penyedia layanan (pertimbangkan email, jejaring sosial, penyimpanan online, dll) tanpa mengorbankan identitas dan data lama Anda. Yang terbesar dari mereka mencari nafkah dari memajaki semua pembayaran Anda di toko mereka, terus -menerus memata -matai Anda untuk menjual iklan yang ditargetkan dan data Anda kepada mitra dan biasanya menghalangi atau menyensor Anda untuk agenda politik atau alasan lainnya.
Merkuri bertujuan untuk melindungi Anda dari semua ini. Identitas Anda dibangun di atas kunci kriptografi yang dimiliki oleh Anda sendiri. Kunci -kunci ini sekali pakai, sehingga Anda dapat membagi jejak digital Anda menjadi sebanyak mungkin profil yang tidak terkait, misalnya untuk pekerjaan, keluarga dan hobi. Penyimpanan dan komunikasi data disusun di sekitar profil tersebut yang dapat Anda simpan bahkan mengubah penyedia layanan atau aplikasi. Data Anda dienkripsi sampai Anda memutuskan untuk membagikan sebagian darinya dengan rekan tertentu atau masyarakat umum. Jaringan ini benar -benar didistribusikan dan dibangun di atas komunikasi peer to peer yang dienkripsi sehingga Anda aman. Anda dapat menambahkan simpul lengkap ke jaringan di bawah kendali Anda sendiri dan menggunakan perangkat akhir Anda sebagai klien ringan dari sebuah simpul yang Anda percayai. Pada akhirnya Anda dapat menyingkirkan perantara atau perantara dan secara langsung menghubungkan orang, bisnis dengan klien atau bahkan mesin.
Merkuri agak mirip dengan jaringan seluler seluler, menyediakan fitur yang mirip dengan SMS, panggilan, koneksi data, pemberitahuan push, dll, tetapi
Model identitas, data, dan hubungan Mercury memiliki visi yang sama dengan ID yang didistribusikan W3C dan kredensial/klaim W3C yang dapat diverifikasi tetapi secara radikal lebih sederhana tanpa membawa kelebihan beban dukungan webstack warisan. Lapisan penyimpanan Mercury dibangun di atas prinsip-prinsip jaringan yang dapat dikenakan konten yang mirip dengan misalnya Sidetree.
Anda kemungkinan besar tertarik pada binari demo UI yang disiapkan untuk menunjukkan pengalaman pengguna apa yang bertujuan IOP untuk sisi klien. Kalau tidak (yaitu menggunakan backend jaringan) Anda masih harus menyusun dan menggunakan basis kode sendiri. Kami telah menyiapkan langkah-langkah instalasi pada sistem berbasis Debian di bawah ini, tetapi seharusnya tidak terlalu berbeda pada platform lain juga.
Anda dapat menginstal Rust sebagai paket OS prebuilt, misalnya dengan menjalankan sudo apt install rustc ... di ubuntu. Namun, untuk hasil termudah dan paling nyaman, kami menyarankan instruksi mengikuti di situs Rustup, misalnya menjalankan curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh sebagai gantinya.
Pertama, Anda akan membutuhkan git dan beberapa dependensi terpasang.
$ sudo apt install git g++ capnprotoMaka Anda harus mengunduh dan menyusun sumber.
$ git clone https://github.com/Internet-of-People/mercury-rust.git
$ cd mercury-rust
$ cargo buildMercury adalah versi yang didesain ulang dan canggih dari server profil TIO dan IP Connect yang merupakan langkah ke arah yang benar tetapi tidak memiliki beberapa fitur dari visi kami, diciptakan oleh pengembang yang meninggalkan masyarakat dan sulit untuk diperbaiki dan dirawat.
Perlu diketahui bahwa proyek ini masih dalam fase awal dan eksperimental. Kami membuka kode sumber untuk mengintip pengembang yang tertarik untuk mengembangkan merkuri itu sendiri atau membangun aplikasi terdistribusi di atasnya. Kami ingin memiliki umpan balik untuk mempelajari masalah dalam fase paling awal, prioritas fitur yang hilang dan kebutuhan Anda yang belum kami pikirkan.
Kami berpikir memiliki implementasi fungsional awal arsitektur. Masih ada banyak komponen penting yang akan ditambahkan, yang sudah ada mungkin diubah atau didesain ulang dan dokumentasi masih kurang.
Fitur Eksperimental Sudah Tersedia:
Tepi kasar dari server dan klien yang ada
Bagian penting yang hilang adalah
Direktori/peti proyek adalah
keyvault menyediakan generasi kunci deterministik hierarkis untuk beberapa suite sandi yang berbeda dan serialisasi terpadu komponen kriptografi (kunci publik dan rahasia, ID, tanda tangan, dll).did menyelaraskan implementasi keyvault kami dengan identitas terdesentralisasi dari W3C.claim mengimplementasikan klaim yang dapat diverifikasi sebagai dasar untuk sertifikat, hubungan sosial dan data pengguna yang dapat dibagikan secara umumprometheus menyediakan perpustakaan backend untuk menangani identitas dan klaim Anda dan biner daemon untuk mengekspos panggilan perpustakaan ke GUI eksternalprometheus-cli mengimplementasikan alat baris perintah sebagai antarmuka pengguna paling sederhana untuk daemon inihome-protocol berisi dasar-dasar untuk komunikasi jaringan, menentukan layanan yang disediakan oleh node rumah yang mengoperasikan jaringan dan bagaimana klien dapat menggunakan layanan ini. File protocol/mercury.capnp menjelaskan protokol jaringan sederhana dengan cap'n'proto sementara mercury-capnp/mod.rs berisi implementasi klien dan server untuk karat.home-node mengimplementasikan sisi server dengan menyediakan layanan protokol kepada klien.connect mengimplementasikan sisi klien dari protokol. Ini termasuk API Admin untuk mengelola profil Anda dan SDK DAPP yang menyediakan blok bangunan umum untuk membuat aplikasi terdistribusi.examples/TheButton adalah aplikasi yang didistribusikan sampel yang dibangun di DAPP SDKtest dan prometheus-test berisi uji integrasi antara peti yang berbeda.storage berisi eksperimen pada lapisan penyimpanan generik menggunakan "pengindeksan" berbasis hash yang dapat menggunakan IPF, BitTorrent, Storej, dll sebagai plugin sederhana.forgetfulfuse berisi eksperimen dengan sistem file yang hanya dapat dibaca untuk sementara, direncanakan untuk digunakan untuk melindungi data sensitif, misalnya kunci AndaHak Cipta © 2017-2019, Yayasan Masyarakat Terdesentralisasi, PA