जामी वितरण नेटवर्क
कनेक्टिविटी
Jami relies on a distributed network, which brings multiple advantages when compared to federated networks:
असफलताको कुनै अर्थ छैन,
सेन्सरको प्रतिरोधात्मक,
यसको प्रयोगकर्ताहरू बाहेक अरू कुनै कुरामा निर्भर हुँदैन,
नोडहरू बीचको विश्वास आवश्यक छैन।
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 छेद पिन्चिंगको लागि मानक प्रोटोकलहरूको प्रयोग।
जामी दुई अलग-अलग वितरण नेटवर्कमा निर्मित छः
वितरण गरिएको कनेक्टिविटी स्थापना र सन्देश वितरणको लागि OpenDHT kademlia नेटवर्क,
जमीन्स ब्लकचेनले नाम दर्ता वितरण गर्न सक्छ।
ओपनडीएचटी नेटवर्क
पनि हेर्नुहोस
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.
एक OpenDHT नेटवर्कमा नेटवर्कमा पहिले नै जडान भएका कुनै पनि नोडको बारेमा जानेर सामेल हुन सकिन्छ। यो नोडले त्यसपछि नेटवर्कमा अन्य नोडहरूको बारेमा आफ्नो ज्ञान साझा गर्दछ।
जेमी क्लाइन्टहरूले पहिलो सत्र पछि नेटवर्कमा पुनः जडान गर्न एक निरन्तर नोड क्यास प्रयोग गर्दछन्। पहिलो जडानको लागि कन्फिगर योग्य, ज्ञात, स्थिर "बुटस्ट्र्याप" नोड प्रयोग गरिन्छ वा यदि क्यास गरिएको नोडहरूले जवाफ दिदैनन् भने।
Jami ग्राहकहरु हाल bootstrap.jami.net:4222 को रूपमा पूर्वनिर्धारित (परिभाषित) bootstrap नोड र नेटवर्क आईडी 0 (पूर्वनिर्धारित, सार्वजनिक OpenDHT नेटवर्क) प्रयोग गर्दछन्।
OpenDHT नेटवर्कमा योगदान
हरेक जामी खातामा एक ओपनडीएचटी नोड चलिरहेको छ, जसले नेटवर्कमा योगदान पुर्याउँछ र जामीलाई स्केल गर्न अनुमति दिन्छ।
जामी प्रयोगकर्ताहरूले आफ्नो स्थिर ओपनडीएचटी नोड चलाएर र यसलाई जामीमा बूटस्ट्र्याप नोडको रूपमा कन्फिगर गरेर पूर्ण स्वतन्त्रता प्राप्त गर्न सक्दछन्, जबकि सार्वजनिक ओपनडीएचटी नेटवर्कका प्रत्येक प्रयोगकर्ताको लागि स्थिरता, दृढता र लचिलोपन सुधार गर्न मद्दत गर्दछ।
एक स्ट्यान्डलोन नोड [dhtnode उपयोगिता]https://github.com/savoirfairelinux/opendht/wiki/Running-a-node-with-dhtnode) को प्रयोग गरेर चलाउन सकिन्छ जुन OpenDHT सँग समावेश छ। dhtnode कुनै पनि डाटा कायम राख्दैन र मेमोरीमा डिफल्ट भण्डारण सीमा 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.
टिप्पणी
To add a community-run DHT node to the default bootstrap server list, please email contact@jami.net.
JamiNS blockchain
जेमिएनएस ब्लकचेन प्रयोगात्मक छ र यसको वास्तुकला विकसित हुने अपेक्षा गरिएको छ।
जेमी क्लाइन्टहरूले आफैंले ब्लकचेन नोडहरू चलाउँदैनन् तर नाम दर्ता र क्वेरीको लागि HTTP प्रयोग गरेर जेमीएनएस सर्भरसँग कुराकानी गर्छन्, REST API को साथ। यो किनभने ब्लकचेन नोड चलाउन आवश्यक संसाधनहरू अधिकांश अन्त प्रयोगकर्ताहरूको लागि धेरै उच्च छन्।
The name server is set at the account level. This enables the Jami client to connect simultaneously to multiple user directories.
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.
जमी नोड चलाउँदै
Prerequisites
जामी नेटवर्कमा सम्मिलित
जेमी नेटवर्कमा सामेल हुने प्रक्रिया नियमित ईथरियम नेटवर्कमा सामेल हुने प्रक्रियासँग मिल्दोजुल्दो छ, फरक यो हो कि जेनेसिस फाइल डाटा डाइरेक्टरीको आरम्भिकरणको लागि प्रयोग गरिन्छ।
Jami github repo बाट Jami genesis फाइल डाउनलोड गर्नुहोस्
आफ्नो कम्प्युटरमा एउटा निर्देशिका सिर्जना गर्नुहोस् जुन तपाईं जामी ब्लकचेन डाटा भण्डारण गर्न प्रयोग गर्नुहुनेछ
Example for GNU/Linux (/home/username/jamichain)
Example for macOS (/Users/username/jamichain)
विन्डोजको लागि उदाहरण (C:\User\username\jamichain)
geth प्रयोग गर्नुहोस् तपाईँले (2) मा सिर्जना गर्नुभएको निर्देशिकालाई
/geth --datadir /home/username/jamichain init genes is.json
अब तपाईँले कमांड लाइन विकल्पहरू प्रयोग गरेर जामीको बुटनोडहरू मध्ये एउटा निर्दिष्ट गर्न सक्नुहुन्छः
geth --datadir=/home/username/jamichain --syncmode=full --networkid 1551 --bootnodes "enode://11ba6d3bfdc29a8afb24dcfcf9a08c8008005ead62756eadb363523c2ca8b819efbb264053db3d73949f1375bb3f03090f44cacfb88bade38bb6fc2cb3d890a5@173.231.120.228:30301" console
यसले एउटा गेथ डेमोन सुरु गर्नेछ जुन कन्सोलमा जडान हुनेछ जुन अब जामीको नेटवर्कसँग सिंक भइरहेको छ।