Redes distribuïdes Jami
Connectivitat
Jami relies on a distributed network, which brings multiple advantages when compared to federated networks:
No hi ha cap punt d’échec.
Més resistent a la censura,
No depenen de res més que dels seus usuaris,
La confiança entre nods no és necessària.
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,
Utilització de protocols estàndards per a perforar forats NAT.
Jami està construïda sobre dues xarxes distribuïdes diferents:
La xarxa OpenDHT kademlia per proporcionar un estableixement distribuït de connectivitat i distribució de missatges,
la cadena de blocs JamiNS per proporcionar un registre distribuït de noms.
La xarxa OpenDHT
Vegeu també
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.
Un xarxa OpenDHT es pot unir coneixent qualsevol node ja connectat a la xarxa.
Els clients Jami utilitzen un nód persistent en cache per reconectar-se a la xarxa després d’una primera sessió. Un nód configurable, conegut i estable «bootstrap» s’utilitza per a la primera connexió o si els nódos en cache no responden.
Els clients Jami actualment utilitzen bootstrap.jami.net:4222 com a node de bootstrap predeterminat (configurable) i ID de xarxa 0 (la xarxa OpenDHT pública predeterminada).
Contribuir a la xarxa OpenDHT
Cada compte Jami corre un node OpenDHT, contribuint a la xarxa i permetent a Jami escalar.
Els usuaris de Jami poden tenir plena independència executant el seu propi node OpenDHT estable i configurar-lo com un node bootstrap a Jami, mentre ajuden a millorar la estabilitat, robustesa i resiliència per a cada usuari de la xarxa pública OpenDHT.
Un node independent es pot executar utilitzant l’utilitat [dhtnode]https://github.com/savoirfairelinux/opendht/wiki/Running-a-node-with-dhtnode) inclòs amb OpenDHT. dhtnode no persisteix cap dades i té un límit de memòria de 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.
Nota
To add a community-run DHT node to the default bootstrap server list, please email contact@jami.net.
La cadena de blocs JamiNS
La cadena de blocs JamiNS és experimental i s’espera que la seva arquitectura evolucioni.
Els clients de Jami no executen els nods de blockchain ells mateixos, sinó que es comuniquen amb un servidor de JamiNS utilitzant HTTP per al registre de noms i consulta, amb una API REST. Això és perquè els recursos necessaris per executar un node de blockchain són massa alts per a la majoria dels usuaris finals.
The name server is set at the account level. This enables the Jami client to connect simultaneously to multiple user directories.
Contribuir a la cadena de blocs 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.
La gestió d’un nodu Jami
Prerequisites
Jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo jo
El procés de connexió a la xarxa Jami és similar al procés de connexió a una xarxa ethereum regular amb la diferència que el fitxer de genès és utilitzat per inicialitzar el directori de dades.
Descarrega el fichier Jami genesis del repositori de Jami github
Crea un directori en el teu ordinador que us usarà per emmagatzemar les dades de la cadena de blocs Jami
Example for GNU/Linux (/home/username/jamichain)
Example for macOS (/Users/username/jamichain)
Exemple per a Windows (C:\User\username\jamichain)
Utilitzeu geth per inicialitzar el directori que heu creat en (2) executant
./geth --datadir /home/username/jamichain init genes is.json
Ara podeu començar a Geth amb les opcions de línia de comandos que necessiteu i especificar un dels nods de arrancament de Jami com segueix:
geth --datadir=/home/username/jamichain --syncmode=full --networkid 1551 --bootnodes "enode://11ba6d3bfdc29a8afb24dcfcf9a08c8008005ead62756eadb363523c2ca8b819efbb264053db3d73949f1375bb3f03090f44cacfb88bade38bb6fc2cb3d890a5@173.231.120.228:30301" console
Això iniciarà un daimon de Geth amb una consola connectada que ara està sincronizant amb la xarxa de Jami.