জামি বিতরণ নেটওয়ার্ক

সংযোগ

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

  • ব্যর্থতার কোন কারণ নেই,

  • সেন্সরশিপের প্রতি আরো স্থিতিশীল,

  • ব্যবহারকারীদের ছাড়া অন্য কোন কিছুর উপর নির্ভর করে না,

  • নোডের মধ্যে বিশ্বাসের প্রয়োজন নেই।

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,

  • এনএটি গর্তের ছিদ্রের জন্য স্ট্যান্ডার্ড প্রোটোকল ব্যবহার।

জামি দুটি পৃথক বিতরণকৃত নেটওয়ার্কে নির্মিতঃ

  • বিতরণকৃত সংযোগ স্থাপন এবং বার্তা বিতরণ করার জন্য OpenDHT ক্যাডেমলিয়া নেটওয়ার্ক,

  • জ্যামিন্স ব্লকচেইন বিতরণ নাম নিবন্ধন প্রদান করবে।

ওপেনডিএইচটি নেটওয়ার্ক

আরও দেখুন

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.

একটি ওপেনডিএইচটি নেটওয়ার্কে যে কোনও নোড সম্পর্কে ইতিমধ্যে নেটওয়ার্কে সংযুক্ত জেনে যুক্ত হতে পারে। এই নোডটি তারপরে নেটওয়ার্কের অন্যান্য নোড সম্পর্কে তার জ্ঞান ভাগ করবে।

জামি ক্লায়েন্টরা প্রথম সেশনের পরে নেটওয়ার্কে পুনরায় সংযোগ করার জন্য একটি স্থায়ী নোড ক্যাশে ব্যবহার করে। প্রথম সংযোগের জন্য একটি কনফিগারযোগ্য, পরিচিত, স্থিতিশীল "বুটস্ট্র্যাপ" নোড ব্যবহার করা হয় বা যদি ক্যাশে করা নোডগুলি সাড়া দেয় না।

জামি ক্লায়েন্টরা বর্তমানে বুটস্ট্র্যাপ.জামি.নেট:4222 ডিফল্ট (নিরূপণযোগ্য) বুটস্ট্র্যাপ নোড এবং নেটওয়ার্ক আইডি 0 (ডিফল্ট, পাবলিক ওপেনডিএইচটি নেটওয়ার্ক) হিসাবে ব্যবহার করে।

ওপেনডিএইচটি নেটওয়ার্কে অবদান রাখুন

প্রতিটি জামি অ্যাকাউন্টে একটি ওপেনডেইটি নোড থাকে, যা নেটওয়ার্কে অবদান রাখে এবং জামিকে স্কেল করতে দেয়।

জামি ব্যবহারকারীরা তাদের নিজস্ব স্থিতিশীল ওপেনডিএইচটি নোড চালিয়ে এবং জামিতে এটি বুটস্ট্র্যাপ নোড হিসাবে কনফিগার করে সম্পূর্ণ স্বাধীনতা অর্জন করতে পারে, যা সর্বজনীন ওপেনডিএইচটি নেটওয়ার্কের প্রতিটি ব্যবহারকারীর স্থিতিশীলতা, দৃঢ়তা এবং স্থিতিশীলতা উন্নত করতে সহায়তা করে।

একটি স্ট্যান্ডেলন নোড [dhtnode ইউটিলিটি]https://github.com/savoirfairelinux/opendht/wiki/Running-a-node-with-dhtnode) সহ OpenDHT সহ চালানো যেতে পারে। dhtnode কোন ডেটা ধরে রাখে না এবং ডিফল্ট মেমরিতে 8 মাইব স্টোরেজ সীমা রয়েছে।

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.

জামিনস ব্লকচেইন

জ্যামিন্স ব্লকচেইন পরীক্ষামূলক এবং এর স্থাপত্যটি বিকশিত হবে বলে আশা করা হচ্ছে।

জামি ক্লায়েন্টরা ব্লকচেইন নোডগুলি নিজে চালায় না বরং নাম নিবন্ধন এবং অনুসন্ধানের জন্য HTTP ব্যবহার করে একটি জামিএনএস সার্ভারের সাথে যোগাযোগ করে, একটি REST API এর সাহায্যে। এটি কারণ ব্লকচেইন নোড চালানোর জন্য প্রয়োজনীয় সংস্থানগুলি বেশিরভাগ শেষ ব্যবহারকারীর জন্য খুব বেশি।

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

জামিনস ব্লকচেইন-এ অবদান

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

  1. Geth 1.8.23+ (download from here)

  2. Jami genesis file (download from here)

জামি নেটওয়ার্কে যোগদান

জামি নেটওয়ার্কে যোগদানের প্রক্রিয়াটি একটি নিয়মিত ইথেরিয়াম নেটওয়ার্কে যোগদানের প্রক্রিয়াটির অনুরূপ, তবে জেনেসিস ফাইলটি ডেটা ডিরেক্টরিটি শুরু করতে ব্যবহৃত হয়।

  1. জামি জিথব রিপো থেকে জামি জেনেসিস ফাইল ডাউনলোড করুন

  2. আপনার কম্পিউটারে একটি ডিরেক্টরি তৈরি করুন যা আপনি জামি ব্লকচেইন ডেটা সঞ্চয় করতে ব্যবহার করবেন

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

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

    • উইন্ডোজের উদাহরণ (সিঃ\ব্যবহারকারীরা\ব্যবহারকারীর নাম\জামাইচেইন)

  3. আপনি (2) এ তৈরি ডিরেক্টরিটি শুরু করতে geth ব্যবহার করুন ./geth --datadir /home/username/jamichain init genes is.json

  4. আপনি এখন আপনার প্রয়োজনীয় কমান্ড লাইন বিকল্পগুলি দিয়ে geth শুরু করতে পারেন এবং জামি এর বুট নোডগুলির মধ্যে একটি নিম্নরূপ নির্দিষ্ট করতে পারেনঃ

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

এটি একটি সংযুক্ত কনসোল সহ একটি গেথ ডেমোন শুরু করবে যা এখন জামি'র নেটওয়ার্কের সাথে সিঙ্ক করছে।