Jami distribuirana mreža
Povezljivost
Jami relies on a distributed network, which brings multiple advantages when compared to federated networks:
Ni razloga za neuspeh.
Bolj odporna na cenzuro,
Ne zaupajo na nič drugega kot na svoje uporabnike,
Zaupanje med vozlišči ni potrebno.
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,
Uporaba standardnih protokolov za udarevanje luknje NAT.
Jami je zgrajena na dveh različnih distribuiranih omrežjih:
omrežje kademlije OpenDHT za zagotavljanje distribuiranega vzpostavljanja povezljivosti in distribucije sporočil,
Za zagotavljanje distribuirane registracije imen.
Mreža OpenDHT
Poglej Tudi
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 omrežju se lahko pridruži z znanjem o katerem koli vozilu, ki je že povezan z omrežjem.
Jami klienti uporabljajo stalni kapi za ponovno povezovanje z omrežjem po prvi seji. Za prvo povezavo se uporablja konfiguriran, znani, stabilni „bootstrap“ kapi ali če se kapijo kapi ne odgovarjajo.
Klienti Jami trenutno uporabljajo bootstrap.jami.net:4222 kot privzeto (konfigurirljivo) vozlišče za bootstrap in omrežno ID 0 (vzeto, javno OpenDHT omrežje).
Prispevek k omrežju OpenDHT
Vsak račun Jami uporablja OpenDHT vozlišče, ki prispeva k omrežju in omogoča Jamiju, da se poveča.
Uporabniki Jami lahko imajo popolno neodvisnost z izvajanjem lastnega stabilnega OpenDHT vozlišča in ga konfigurirajo kot vozlišče za zagon v Jamiju, hkrati pa pomagajo izboljšati stabilnost, robustnost in odpornost za vsakega uporabnika javnega OpenDHT omrežja.
Samostojni vozlišče se lahko izvaja z uporabo [dhtnode uporabniške]https://github.com/savoirfairelinux/opendht/wiki/Running-a-node-with-dhtnode) vključene z OpenDHT. dhtnode ne ohranja podatkov in ima domnevno omejitev shranjevanja v pomnilniku 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.
Opomba
To add a community-run DHT node to the default bootstrap server list, please email contact@jami.net.
Blokčein JamiNS
JamiNS blokčein je eksperimentalen in od njega pričakuje razvoj arhitekture.
Klienti Jami ne izvajajo blockchain vozlišče sami, temveč komunicirajo z JamiNS strežnikom z uporabo HTTP za registracijo imen in povpraševanje, z REST API. To je zato, ker so vire, potrebne za izvajanje blockchain vozlišča, za večino končnih uporabnikov preveč visoke.
The name server is set at the account level. This enables the Jami client to connect simultaneously to multiple user directories.
Prispevek k blokčeinu 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.
Upravljanje Jami Node
Prerequisites
Prihajajo v mrežo Jami
Proces pridruživanja se omrežju Jami je podoben procesu pridružitve rednega ethereuma, vendar se genesis datoteka uporablja za inicializacijo podatkovnega imenika.
Izprite datoteko Jami genesis iz repo Jami github
Ustvarite imenik na računalniku, ki ga boste uporabili za shranjevanje podatkov Jami blockchain
Example for GNU/Linux (/home/username/jamichain)
Example for macOS (/Users/username/jamichain)
Primer za Windows (C:\User\username\jamichain)
Uporabite geth za inicializacijo imenika, ki ste ga ustvarili v (2) z uporabo ```./geth –datadir /home/username/jamichain init genes is.json ``
Zdaj lahko začnete z geth z opcijami poveljnega reda, ki jih potrebujete in določite enega od Jamijevjevovh vzvodnih vozlišč:
geth --datadir=/home/username/jamichain --syncmode=full --networkid 1551 --bootnodes "enode://11ba6d3bfdc29a8afb24dcfcf9a08c8008005ead62756eadb363523c2ca8b819efbb264053db3d73949f1375bb3f03090f44cacfb88bade38bb6fc2cb3d890a5@173.231.120.228:30301" console
To bo sprožilo geth demona z priloženo konzoli, ki je zdaj sinhronizirana z Jamijevo omrežje.