Źródło:
Łączność
Jami relies on a distributed network, which brings multiple advantages when compared to federated networks:
Nie ma sensu się nie udać.
Bardziej odporne na cenzurę,
Nie zależy od niczego innego niż od użytkowników,
Zaufanie między węzłami nie jest konieczne.
This forms a Distributed Hash Table (DHT) network.
The core problem of distributed communication systems is peer connectivity. Jami achieves it through two elements:
Encrypted announcements on the DHT network,
Używanie standardowych protokołów do uderzenia w otwory NAT.
Jami jest zbudowana na dwóch różnych sieciach:
sieć kademlii OpenDHT w celu zapewnienia rozproszonej sieci łączności i dystrybucji wiadomości,
the JamiNS blockchain to provide distributed name registration.
Sieć OpenDHT
Zobacz także
Visit the https://github.com/savoirfairelinux/opendht page for more information about OpenDHT. OpenDHT provides a distributed key-value datastore for connectivity establishment (with ICE) and message distribution in Jami.
Sieć OpenDHT może być połączona poprzez poznanie każdego węzła już połączonego z siecią.
Klienci Jami używają trwałego pamięci pamięci przywiązanej do sieci po pierwszej sesji.
Klienci Jami wykorzystują obecnie bootstrap.jami.net:4222 jako domyślny (konfigurowalny) węzeł bootstrap i identyfikator sieci 0 (domyślna, publiczna sieć OpenDHT).
Wpływ do sieci OpenDHT
Każdy konto Jami uruchamia węzeł OpenDHT, przyczyniając się do sieci i pozwalając Jami na skalę.
Użytkownicy Jami mogą mieć pełną niezależność, uruchamiając własny stabilny węzeł OpenDHT i konfigurojąc go jako węzeł bootstrapa w Jami, przy jednoczesnym poprawie stabilności, solidności i odporności każdego użytkownika publicznej sieci OpenDHT.
Samodzielny węzeł może być uruchamiany za pomocą [dhtnode utility]https://github.com/savoirfairelinux/opendht/wiki/Running-a-node-with-dhtnode) włączonego z OpenDHT. dhtnode nie zachowuje żadnych danych i ma domyślny limit pamięci w pamięci 8 MiB.
Stable community-run DHT nodes will be added to the default bootstrap server list at the request of their owner, as more bootstrap nodes means a more resilient, independent network.
Informacja
To add a community-run DHT node to the default bootstrap server list, please email contact@jami.net.
Blockchain JamiNS
Blockchain JamiNS jest eksperymentalny i jego architektura ma się rozwijać.
Klienci Jami nie uruchamiają węzłów blockchain, ale raczej komunikują się z serwerem JamiNS za pomocą HTTP do rejestracji nazw i zapytań, z API REST.
The name server is set at the account level. This enables the Jami client to connect simultaneously to multiple user directories.
Wpłacić wkład w blokadę JamiNS
The default Jami name service is ns.jami.net, provided by Savoir-faire Linux Inc., connected to an Ethereum blockchain node; the goal being to give everyone the possibility (if they which so) to run their own blockchain node and HTTP service, mine some Ether, and use it to pay the transaction fee needed to register their username in Jami.
Code of the Ethereum contract, the blockchain genesis file, and the NodeJS module (HTTP server) can be found here.
Prowadzenie węzła Jami
Prerequisites
Dołączenie do sieci Jami
Proces dołączenia do sieci Jami jest podobny do procesu dołączenia do regularnej sieci ethereum z różnicą, że plik genesis jest używany do inicjalizacji katalogu danych.
Pobierz plik Jami genesis z repo github Jami
Tworzyć katalog na komputerze, który będzie używany do przechowywania danych z blokady Jami
Example for GNU/Linux (/home/username/jamichain)
Example for macOS (/Users/username/jamichain)
Przykład dla systemu Windows (C:\User\username\jamichain)
Użyj geth do inicjalizacji katalogu, który utworzyłeś w (2) uruchamianiem
./geth --datadir /home/username/jamichain init genes is.json
Możesz teraz zacząć z opcji linii poleceń i określić jeden z węzłów startowych Jami’ego w następujący sposób:
geth --datadir=/home/username/jamichain --syncmode=full --networkid 1551 --bootnodes "enode://11ba6d3bfdc29a8afb24dcfcf9a08c8008005ead62756eadb363523c2ca8b819efbb264053db3d73949f1375bb3f03090f44cacfb88bade38bb6fc2cb3d890a5@173.231.120.228:30301" console
To uruchomi geth daemon z załączoną konsoli, która jest teraz synchronizowana z siecią Jami.