Jami dağıtıcı ağ

Bağlanabilirlik

Jami, federasyonlu ağlara kıyasla birçok avantaj getiren bir [ dağıtılı ağ] tutoriallarına dayanıyor:

  • Başarısızlıktan hiç bir şey çıkmaz.

  • Senzüre daha dayanıklı,

  • Kullanıcılarından başka hiçbir şeye bağımlı değildir.

  • Kodular arasındaki güven gerekmez.

Ağ-topo

Bu ağ dağıtılan Hash Tablosunu (DHT) oluşturur

Yayınlanmış iletişim sistemlerinin temel sorunu, akran bağlantısıdır, Jami bunu iki unsur yoluyla başarır:

  • DHT’de şifreli duyurular,

  • NAT deliği vurmak için standart protokollerin kullanılması.

Jami iki farklı dağıtılmış ağ üzerinde inşa edilmiştir:

  • Bu nedenle, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, bu konuyla ilgili olarak, açıklanmaktadır.

  • JamiNS blok zinciri dağıtılmış isim kayıtlarını sağlayacak.

OpenDHT ağı

OpenDHT hakkında daha fazla bilgi için [https://github.com/savoirfairelinux/opendht>]https://github.com/savoirfairelinux/opendht’i görün. Bu, Jami’de bağlantı kurulması (ICE ile) ve mesaj dağıtımı için dağıtılan bir anahtar değerli veri depo sunmaktadır.

Bir OpenDHT ağı, ağla zaten bağlantılı herhangi bir düğüm hakkında bilgi edinerek bir araya gelebilir. Bu düğüm daha sonra ağdaki diğer düğümler hakkında bilgisini paylaşacaktır.

Jami müşterileri, ilk seanstan sonra ağla yeniden bağlanmak için sürekli bir düğüm önbelleği kullanır. İlk bağlantı için yapılandırılabilir, bilinen, sabit bir “bootstrap” düğüm kullanılır veya önbelleğe alınan düğümler cevap vermezse.

Jami müşterileri şu anda bootstrap.jami.net:4222’yi varsayılan (konfigur edilebilir) bootstrap düğmesi ve ağ kimliği 0 (varsayılan, kamu açık OpenDHT ağı) olarak kullanmaktadır.

OpenDHT ağına katkıda bulun

Her Jami hesabı bir OpenDHT düğümünü çalıştırır, ağlara katkıda bulunur ve Jami’nin ölçeklenmesine izin verir.

Jami kullanıcıları kendi istikrarlı OpenDHT düğümlerini çalıştırarak ve bu düğümleri Jami’de bir bootstrap düğümü olarak yapılandırarak, halka açık OpenDHT ağının her kullanıcısının istikrarını, dayanıklılığını ve dayanıklılığını artırmaya yardımcı olurken tam bağımsızlık kazanabilirler.

Bir bağımsız düğüm OpenDHT ile birlikte birlikte [dhtnode kullanımı]https://github.com/savoirfairelinux/opendht/wiki/Running-a-node-with-dhtnode) ile çalıştırılabilir. dhtnode herhangi bir veriyi sürdürmez ve standart hafıza depolama limitine sahip 8 MiB.

DHT düğümleri, sahiplerinin isteğiyle varsayılan başlangıç listesine eklenecek, çünkü daha fazla başlangıç düğümü daha dayanıklı ve bağımsız bir ağ anlamına gelir.

JamiNS blok zinciri

JamiNS blok zinciri deneysel ve mimarisinin gelişmesi bekleniyor.

Jami müşterileri kendi başlarına blok zinciri düğümlerini çalıştırmazlar, ancak REST API ile isim kayıt ve sorgu için HTTP kullanarak JamiNS sunucuyla iletişim kurarlar. Bunun nedeni, bir blok zinciri düğümünü çalıştırmak için gerekli kaynakların çoğu son kullanıcı için çok yüksek olmasıdır.

Ad sunucusu Jami’de bir hesap olarak yapılandırılabilir ve Jami müşterilerini çeşitli daha az merkezi kullanıcı dizinlerine bağlamayı sağlar.

JamiNS blok zincirine katkıda bulun

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 düğümünü çalıştırmak

Ön şartlar:

  1. Geth 1.8.23+ (BURADA adresinden indir)

  2. Jami genesis file (download from HERE)

Jami Ağı’na Katılım

Jami ağına katılmanın süreci, veri dizini başlatmak için genesis dosyasının kullanıldığı farkıyla düzenli bir ethereum ağına katılmanın sürecine benzer.

  1. Jami genesis dosyasını Jami github repo’sundan indir

  2. Jami blok zinciri verilerini depolamak için kullanacağınız bir dizin oluşturun.

  • MacOS için örnek (/User/username/jamichain)

  • Linux için örnek (/home/username/jamichain)

  • Windows için örnek (C:\User\username\jamichain)

  1. (2) ile oluşturduğunuz dizini / geth --datadir /home/username/jamichain init genes is.json

  2. Şimdi geth’e ihtiyacınız olan komut satırı seçenekleriyle başlayabilirsiniz ve Jami’nin başlatma düğümlerinden birini aşağıdaki gibi belirleyebilirsiniz:

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

Bu, Jami’nin ağıyla senkronize edilen bir konsolla bir geth daemonuna başlayacak.