Џами дистрибуирана мрежа
Спрема
Џами се ослања на [дистрибуиране мреже](учевци/Джами-дистрибуиране мреже), која даје више предности у поређењу са федеративним мреже:
Нема смисла да не успеш.
Већи отпорност на цензуру,
Не зависи од ништа друго него од својих корисника,
Довер између чворова није неопходан.
Ова мрежа формира дистрибуирана хаш табела (ДХТ)
Основни проблем дистрибуирани комуникациони систем је вршњачка повезаност, Џами је постигао кроз два елемента:
Шифроване обавештења на ДХТ-у,
Употреба стандардних протокола за пробивање рупа НАТ-а.
Џами је изграђен на две различите дистрибуиране мреже:
мрежа OpenDHT kademlia за обезбеђивање дистрибуиране локалне повезаности и дистрибуције порука,
Блокчејн JamiNS да обезбеди дистрибуирана регистрација имена.
Мрежа OpenDHT
Виде https://github.com/savoirfairelinux/opendht за више информација о OpenDHT-у, који пружа дистрибуиран складиште података кључних вредности за успостављање повезивања (са ИЦЕ-ом) и дистрибуцију порука у Џамију.
OpenDHT мрежа може се придружити знањем о било ком чвору који је већ повезан са мрежом.
Јами клијенти користе персистентни чворовни кеш за поново повезавање са мрежом након прве сесије. Конфигурибилан, познат, стабилни „бутстрап” чворови се користи за прву повезаност или ако се кеш чворови не одговоре.
Клијенти Џами тренутно користе bootstrap.jami.net:4222 као дефолтан (конфигурисатан) бутстрап вуз и мрежни ID 0 (дефолтан, јавни OpenDHT мрежа).
Доноси у мрежу OpenDHT
Сваки акаунт Џами покреће OpenDHT вузло, доприносе сетви и омогућава Џами да се скалише.
Корисници Џами могу имати потпуну независност покретањем свог стабилног OpenDHT чвора и конфигурирањем као бутстрап чвора у Џамију, а истовремено помажући побољшању стабилности, чврстоће и отпорности за сваког корисника јавне OpenDHT мреже.
Сталан узел се може покренути користећи [dhtnode утилиту]https://github.com/savoirfairelinux/opendht/wiki/Running-a-node-with-dhtnode) укључен у OpenDHT. dhtnode не задржава податке и има дефолтну границу за складиштење у меморији од 8 МиБ.
Стабилни DHT чворови управљају заједница ће се додати у дефолт бутстрап листа на захтев њиховог власника, јер више бутстрап чворови значи више устойљиве, независне мреже.
Блокчејн ЏамиНС
Блокчејн ЏамиНС је експерименталан и очекује се да ће се његова архитектура развијати.
Клијенти Џами не раде блокчејн вузлове сами, већ комуницирају са ЏамиНС-ом сервером користећи HTTP за регистрацију имена и потрагу, са REST API-ом.
Намен сервер се може конфигурирати подречењем у Џамију, омогућавајући повезивање клијената Џамију са различитим више или мање централизованим корисничким директорима.
Доноси у блокчејн 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 : 1
Поправљање Џами Нода
Предлогни услови:
Придружење се мрежи Џами
Процес придруживања Џами мрежи је сличан процесу придруживања редовној етеријум мрежи са разликом да се генесска датотека користи за иницијализацију директорије података.
Скачите датотеку Jami genesis из Jami github repo
Kreirajte direktorijum na svom računaru koji ćete koristiti za čuvanje Jami blockchain podataka
Пример за MacOS (/Посматрачи/име корисника/jamichain)
Пример за Линукс (/дома/име корисника/јамицхеин)
Пример за Виндовс (C:\Употребиоци\Позивно име\Джамицхејн)
Koristite geth da inicijalizujete direktorijum koji ste kreirali u (2) pokretanjem
./geth --datadir /home/username/jamichain init genes is.json
Sada možete započeti geth sa opcijama komandne linije koje su vam potrebne i navođenjem jedne od Jamijevih bootnoda na sledeći način:
geth --datadir=/home/username/jamichain --syncmode=full --networkid 1551 --bootnodes "enode://11ba6d3bfdc29a8afb24dcfcf9a08c8008005ead62756eadb363523c2ca8b819efbb264053db3d73949f1375bb3f03090f44cacfb88bade38bb6fc2cb3d890a5@173.231.120.228:30301" console
Ово ће покренути гет демона са прикљученим конзолом који се сада синхронизује са Џамијевом мрежом.