Jami dağıtıcı ağ

Bağlanabilirlik

Jami relies on a distributed network, which brings multiple advantages when compared to federated networks:

  • 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.

Network topographies

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,

  • 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ğı

Ayrıca bakınız

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.

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.

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.

Not

To add a community-run DHT node to the default bootstrap server list, please email contact@jami.net.

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.

The name server is set at the account level. This enables the Jami client to connect simultaneously to multiple user directories.

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.

Jami düğümünü çalıştırmak

Prerequisites

  1. Geth 1.8.23+ (download from here)

  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.

    • Example for GNU/Linux (/home/username/jamichain)

    • Example for macOS (/Users/username/jamichain)

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

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

  4. Ş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.