Jami elosztott hálózat
Kapcsolódás
Jami relies on a distributed network, which brings multiple advantages when compared to federated networks:
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.
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,
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
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.
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.
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.
Megjegyzés
To add a community-run DHT node to the default bootstrap server list, please email contact@jami.net.
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.
The name server is set at the account level. This enables the Jami client to connect simultaneously to multiple user directories.
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.
Code of the Ethereum contract, the blockchain genesis file, and the NodeJS module (HTTP server) can be found here.
Jami-csomópont futtatása
Prerequisites
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.
Töltse le a Jami genesis-fájlt a Jami GitHub-tárolóból
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
Example for GNU/Linux (/home/username/jamichain)
Example for macOS (/Users/username/jamichain)
Példa Windows operációs rendszerre (C:\Users\felhasználónév\jamichain)
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ávalMost 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.