Jami elosztott hálózat

Kapcsolódás

A Jami elosztott hálózatra támaszkodik, amely számos előnnyel jár a föderális hálózatokhoz képest:

  • Nincs kudarc pontja,

  • Ellenállóbb a cenzúrával szemben,

  • Ne függjön semmi mástól, mint a felhasználóitól,

  • A csomópontok közötti bizalom nem szükséges.

A hálózati topográfiák

Ez egy DHT (Distributed Hash Table – elosztott kivonat-táblát) hálózatot alkot.

Az elosztott kommunikációs rendszerek alapvető problémája a társ-társ összeköttetése. Jami ezt két elemen keresztül éri el:

  • Titkosított bejelentések a DHT-hálózaton,

  • Szabványos protokollok használata NAT lyukasztáshoz.

A Jami két különálló elosztott hálózatra épül:

  • az OpenDHT kademlia-hálózat elosztott kapcsolat létrehozását és üzenetterjesztést biztosít,

  • a JamiNS (Jami Name Server - Jami-névkiszolgáló) elosztott adatbázist az elosztott névregisztráció biztosítására.

Az OpenDHT-hálózat

Lásd még

További információért az OpenDHT adattárról látogassa meg a https://github.com/savoirfairelinux/opendht oldalt. Az OpenDHT egy elosztott kulcs-érték adattárat biztosít a kapcsolatépítéshez (ICE segítségével) és az üzenetek terjesztéséhez a Jami nyelven.

Egy OpenDHT-hálózathoz úgy lehet csatlakozni, ha ismeri a hálózathoz már csatlakoztatott összes csomópontot. Ez a csomópont ezután megosztja tudását a hálózat többi csomópontjáról.

A Jami-ügyfelek állandó csomópont-gyorsítótárat használnak a hálózathoz való újbóli csatlakozáshoz az első munkamenet után. Egy konfigurálható, ismert, stabil „rendszerindítás” (bootstrap) csomópont kerül felhasználásra az első kapcsolathoz, vagy ha a gyorsítótárazott csomópontok nem válaszolnak.

A Jami-ügyfelek jelenleg a bootstrap.jami.net:4222-t használják alapértelmezett (beállítható) rendszerindító csomópontként és 0-s hálózati azonosítót (az alapértelmezett, nyilvános OpenDHT-hálózat).

Hozzájárulás az OpenDHT-hálózathoz

Minden Jami-fiók OpenDHT-csomópontot futtat, amely hozzájárul a hálózathoz, és lehetővé teszi a Jami méretezését.

A Jami-felhasználók teljes függetlenséget élvezhetnek, ha saját, stabil OpenDHT-csomópontjukat futtatják, és rendszerindítási csomópontként állítják be a Jami-ban, miközben javítják a stabilitást, a robusztusságot és a rugalmasságot a nyilvános OpenDHT-hálózat minden felhasználója számára.

Egy önálló csomópont az OpenDHT-hálózathoz tartozó dhtnode segédprogrammal futtatható. A dhtnode nem tárol semmilyen adatot, és a memórián belüli tárhely alapértelmezett korlátja 8 MiB.

A stabil közösség által futtatott DHT-csomópontok tulajdonosuk kérésére felkerülnek az alapértelmezett rendszerindítás-kiszolgáló listára, mivel a több rendszerindítás-csomópontok rugalmasabb, független hálózatot jelent.

Megjegyzés

Ha egy közösség által futtatott DHT-csomópontot szeretne hozzáadni az alapértelmezett rendszerindítás-kiszolgáló listához, küldjön e-mailt a contact@jami.net címre.

A JamiNS (Jami Name Server - Jami-névkiszolgáló) elosztott adatbázis

A JamiNS elosztott adatbázis kísérleti jellegű, architektúrája várhatóan fejlődni fog.

A Jami-ügyfelek maguk nem futtatnak elosztott adatbázis-csomópontokat, hanem egy JamiNS-kiszolgálóval kommunikálnak HTTP-n keresztül névregisztrációhoz és lekérdezéshez, egy REST API-val. Ennek az az oka, hogy az elosztott adatbázis-csomópont futtatásához szükséges erőforrások túl magasak a legtöbb végfelhasználó számára.

A névkiszolgáló fiókszinten van beállítva. Ez lehetővé teszi a Jami-ügyfél számára, hogy egyszerre több felhasználói könyvtárhoz is csatlakozzon.

A JamiNS elosztott adatbázis közreműködése

Az alapértelmezett Jami névszolgáltatás az ns.jami.net, amelyet a Savoir-faire Linux Inc. biztosít, egy Ethereum elosztott adatbázis-csomóponthoz csatlakozva; A cél az, hogy mindenkinek megadja a lehetőséget (ha igen), hogy saját elosztott adatbázis-csomópontot és HTTP-szolgáltatást, az Ether-bányászat futtatása, és ezzel kifizesse a felhasználónevének Jami-ben történő regisztrálásához szükséges ügyletdíjat.

Az Ethereum-szerződés, a blokklánc-genezisfájl és a NodeJS-modul (HTTP-kiszolgáló) kódja itt található.

Jami-csomópont futtatása

Előfeltételek

  1. Geth 1.8.23+ (letölthető innen)

  2. Jami-genesisfájl (letölthető innen)

Jami-hálózat csatlakozása

A Jami-hálózathoz való csatlakozás folyamata hasonló a hagyományos ethereum-hálózathoz, azzal a különbséggel, hogy a genesis-fájlt az adatkönyvtár inicializálására használják.

  1. Töltse le a Jami genesis-fájlt a Jami GitHub-tárolóból

  2. Hozzon létre egy könyvtárat a számítógépén, amelyet a Jami elosztott adatbázis adatainak tárolására fog használni

    • Példa GNU/Linux operációs rendszerékre (/home/felhasználónév/jamichain)

    • Példa macOS operációs rendszerre (/Users/felhasználónév/jamichain)

    • Példa Windows operációs rendszerre (C:\Users\felhasználónév\jamichain)

  3. A geth segítségével inicializálja a (2) pontban létrehozott könyvtárat a ./geth --datadir /home/felhasználónév/jamichain init genes is.json futtatásával

  4. Most elindíthatja a geth-t a szükséges parancssori beállításokkal, és megadhatja a Jami egyik rendszerindító csomópontját a következők szerint:

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

Ez elindít egy geth-rendszerfolyamatot egy csatolt kezelőpulttal, amely most összehangolódik Jami-hálózatával.