Rozdeľovaná sieť Jami

Pripojenie

Jami relies on a distributed network, which brings multiple advantages when compared to federated networks:

  • Žiadna zmyselná chyba.

  • Odolateľnejšie cenzúre,

  • Nezaviazať sa na nič iné ako na svojich používateľov,

  • Dôvera medzi uzlmi nie je nevyhnutná.

Network topographies

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,

  • Použitie štandardných protokolov pre údery otvorov NAT.

Jami je postavená na dvoch rozložených sieťach:

  • sieť kademlia OpenDHT na zabezpečenie rozdeľovaného zriadenia pripojenia a distribúcie správ,

  • blokáž JamiNS na poskytovanie rozdeľovaného registrácie mien.

sieť OpenDHT

Viď aj

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.

OpenDHT sieť môže byť pripojená tým, že poznáte akýkoľvek uzol už pripojený k sieti. Tento uzol potom zdieľa svoje vedomosti o iných uzloch v sieti.

Klienti Jami používajú trvalú ukážku uzlov na pripojenie k sieti po prvom zasadnutí. Konfigurovateľný, známy, stabilný uzl „bootstrap“ sa používa na prvé pripojenie alebo ak ukážkové uzly neodpovedajú.

Klienti Jami v súčasnosti používajú bootstrap.jami.net:4222 ako predvolený (konfigurovateľný) bod bootstrap a sieťový ID 0 (predvolená verejná sieť OpenDHT).

Príspevok k sieti OpenDHT

Každý účet Jami prevádzkuje uzl OpenDHT, prispieva k sieti a umožňuje Jami škáliť.

Užívatelia Jami môžu mať úplnú nezávislosť, keď spustí svoj vlastný stabilný uzol OpenDHT a nakonfigurujú ho ako bootstrap uzol v Jami, pričom pomáhajú zlepšiť stabilitu, robustnosť a odolnosť pre každého používateľa verejnej siete OpenDHT.

Samostatný uzl sa môže spustiť pomocou [dhtnode utility]https://github.com/savoirfairelinux/opendht/wiki/Running-a-node-with-dhtnode) zahrnutý s OpenDHT. dhtnode nepretrváva žiadne údaje a má predvolený limit ukladania v pamäti 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.

Poznámka

To add a community-run DHT node to the default bootstrap server list, please email contact@jami.net.

Blockchain JamiNS

Blokčín JamiNS je experimentálny a očakáva sa, že sa jeho architektúra bude vyvíjať.

Klienti Jami nefungujú samotnými blokadlovými uzlmi, ale skôr komunikujú s serverom JamiNS pomocou HTTP pre registráciu mien a dotazy, s REST API.

The name server is set at the account level. This enables the Jami client to connect simultaneously to multiple user directories.

Pridajte sa k blokovej blokovej sústave 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.

Vytvorenie uzla Jami

Prerequisites

  1. Geth 1.8.23+ (download from here)

  2. Jami genesis file (download from here)

Pridanie sa k siete Jami

Proces pripojenia k siete Jami je podobný procesu pripojenia k bežnej ethereumovej sieti s rozdielom, že súbor genézy sa používa na iniciáciu adresára údajov.

  1. Zoberte súbor Jami genesis z repo spoločnosti Jami github

  2. Vytvorte adresár na vašom počítači, ktorý budete používať na ukladanie údajov z blokovej bloky Jami

    • Example for GNU/Linux (/home/username/jamichain)

    • Example for macOS (/Users/username/jamichain)

    • Príklad pre Windows (C:\User\username\jamichain)

  3. Použite geth na iniciálovanie adresára, ktorý ste vytvorili v (2) beží ./geth --datadir /home/username/jamichain init genes is.json

  4. Teraz môžete začať s geth s opciami príkazového riadku, ktoré potrebujete a určiť jeden z Jamiho spúšťacích uzlov takto:

geth --datadir=/home/username/jamichain --syncmode=full --networkid 1551 --bootnodes "enode://11ba6d3bfdc29a8afb24dcfcf9a08c8008005ead62756eadb363523c2ca8b819efbb264053db3d73949f1375bb3f03090f44cacfb88bade38bb6fc2cb3d890a5@173.231.120.228:30301" console

Toto začne geth demóna s pripojenou konzolou, ktorá je teraz synchronizovaná s Jamiho sieť.