Jami distribueret netværk
Forbindelse
Jami er baseret på et [distribueret netværk] (tutorials/Jami-distribueret netværk), som giver flere fordele i forhold til fødererede netværk:
Ingen grund til at fejle.
Mere modstandsdygtig overfor censur,
De er ikke afhængige af andet end deres brugere.
Fortro mellem knudepunkter er ikke nødvendigt.
Dette netværk danner en Distributed Hash Table (DHT)
Det centrale problem med distribuerede kommunikationssystemer er peer-kønneticitet, Jami opnås det gennem to elementer:
Kryptede meddelelser om DHT,
Brug af standardprotokoller til NAT-hulsprøjtning.
Jami er bygget på to forskellige distribuerede netværk:
OpenDHT kademlia-netværket til at levere distribueret forbindelse og beskedsdistribution
JamiNS blockchain til at levere distribueret navn registrering.
OpenDHT-netværket
Se https://github.com/savoirfairelinux/opendht> for mere information om OpenDHT, som giver en distribueret nøgleværdi datastore til forbindelse etablering (med ICE) og besked distribution i Jami.
Et OpenDHT-netværk kan tilsluttes ved at vide om ethvert node, der allerede er forbundet til netværket.
Jami-klienter bruger en persistent node cache til at forbinde igen til netværket efter en første session. En konfigurerbar, kendt, stabil »bootstrap« node bruges til den første forbindelse eller hvis cache-noder ikke svarer.
Jami-klienter bruger i øjeblikket bootstrap.jami.net:4222 som standard (konfigurerbar) bootstrap-node og netværks-ID 0 (det standard, offentlige OpenDHT-netværk).
Bidra til OpenDHT-netværket
Hver Jami-konto kører en OpenDHT-node, der bidrager til netværket og giver Jami mulighed for at skale.
Jami-brugere kan få fuld uafhængighed ved at køre deres egen stabile OpenDHT-node og konfigurere den som en bootstrap-node i Jami, samtidig med at de hjælper med at forbedre stabiliteten, robustiteten og modstandsdygtigheden for hver bruger af det offentlige OpenDHT-netværk.
En standalone node kan køre ved hjælp af [dhtnode-utility]https://github.com/savoirfairelinux/opendht/wiki/Running-a-node-with-dhtnode) inkluderet med OpenDHT. dhtnode ikke opretholder nogen data og har en standard lagring i hukommelse grænse på 8 MiB.
Stående DHT-noder, der drives af et fællesskab, vil blive tilføjet til standardstartlisten på deres ejeres anmodning, da flere startnode betyder et mere robust, uafhængigt netværk.
JamiNS-blokken
JamiNS-blokken er eksperimenterende, og dens arkitektur forventes at udvikle sig.
Jami-klienter kører ikke blockchain-noder selv, men kommunikerer snarere med en JamiNS-server ved hjælp af HTTP til navneregistrering og forespørgsel, med en REST API. Dette skyldes, at de ressourcer, der er nødvendige for at køre en blockchain-noder, er for høje for de fleste slutbrugere.
Nameserveren kan konfigureres som en konto i Jami, hvilket giver mulighed for at forbinde Jami-klienter til forskellige mere eller mindre centraliserede brugerdirektorier.
Bidra til JamiNS blockchain
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 : 1
Kør en Jami-knode
Forudsætninger:
Geth 1.8.23+ (download fra [HERE]
Jami genesis file (download from HERE)
Jeg er medlem af Jami-netværket
Processen med at slutte sig til Jami-netværket er lig den proces med at slutte sig til et almindeligt ethereum-netværk med forskellen på, at genesisfilen bruges til at initialisere datadministratoren.
Download Jami genesis fil fra Jami github repo
Oprett et katalog på din computer, som du vil bruge til at gemme Jami blockchain data
Eksempel for MacOS (/brugere/brugernavn/jamichain)
Eksempel for Linux (/home/username/jamichain)
Eksempel for Windows (C:\brugere\brugernavn\jamichain)
Brug geth til at initialisere det katalog, du oprettede i (2) ved at køre
./geth --datadir /home/username/jamichain init genes is.json
Du kan nu starte geth med de kommando-linje-optioner du har brug for og angive en af Jami’s startnodes som følger:
geth --datadir=/home/username/jamichain --syncmode=full --networkid 1551 --bootnodes "enode://11ba6d3bfdc29a8afb24dcfcf9a08c8008005ead62756eadb363523c2ca8b819efbb264053db3d73949f1375bb3f03090f44cacfb88bade38bb6fc2cb3d890a5@173.231.120.228:30301" console
Det starter en geth daemon med en tilkoblet konsol, som nu synkroniseres med Jami’s netværk.