From 4d4c1c8befdaea57d393c30894720293ba046a39 Mon Sep 17 00:00:00 2001 From: Joshua <62268199+minimalsm@users.noreply.github.com> Date: Sat, 14 Feb 2026 00:09:13 +0000 Subject: [PATCH] i18n(ur): translation import part 05 of 13 (23 files) --- .../nodes-and-clients/light-clients/index.md | 61 +++ .../node-architecture/index.md | 59 +++ .../nodes-as-a-service/index.md | 418 +++++++++++++++ .../nodes-and-clients/run-a-node/index.md | 484 ++++++++++++++++++ .../ur/developers/docs/oracles/index.md | 433 ++++++++++++++++ .../docs/programming-languages/dart/index.md | 32 ++ .../programming-languages/delphi/index.md | 56 ++ .../programming-languages/dot-net/index.md | 86 ++++ .../programming-languages/elixir/index.md | 55 ++ .../programming-languages/golang/index.md | 84 +++ .../docs/programming-languages/index.md | 33 ++ .../docs/programming-languages/java/index.md | 64 +++ .../programming-languages/javascript/index.md | 72 +++ .../programming-languages/python/index.md | 99 ++++ .../docs/programming-languages/ruby/index.md | 60 +++ .../docs/programming-languages/rust/index.md | 65 +++ .../ur/developers/docs/scaling/index.md | 113 ++++ .../docs/scaling/optimistic-rollups/index.md | 265 ++++++++++ .../developers/docs/scaling/plasma/index.md | 176 +++++++ .../docs/scaling/sidechains/index.md | 73 +++ .../docs/scaling/state-channels/index.md | 261 ++++++++++ .../developers/docs/scaling/validium/index.md | 166 ++++++ .../docs/scaling/zk-rollups/index.md | 257 ++++++++++ 23 files changed, 3472 insertions(+) create mode 100644 public/content/translations/ur/developers/docs/nodes-and-clients/light-clients/index.md create mode 100644 public/content/translations/ur/developers/docs/nodes-and-clients/node-architecture/index.md create mode 100644 public/content/translations/ur/developers/docs/nodes-and-clients/nodes-as-a-service/index.md create mode 100644 public/content/translations/ur/developers/docs/nodes-and-clients/run-a-node/index.md create mode 100644 public/content/translations/ur/developers/docs/oracles/index.md create mode 100644 public/content/translations/ur/developers/docs/programming-languages/dart/index.md create mode 100644 public/content/translations/ur/developers/docs/programming-languages/delphi/index.md create mode 100644 public/content/translations/ur/developers/docs/programming-languages/dot-net/index.md create mode 100644 public/content/translations/ur/developers/docs/programming-languages/elixir/index.md create mode 100644 public/content/translations/ur/developers/docs/programming-languages/golang/index.md create mode 100644 public/content/translations/ur/developers/docs/programming-languages/index.md create mode 100644 public/content/translations/ur/developers/docs/programming-languages/java/index.md create mode 100644 public/content/translations/ur/developers/docs/programming-languages/javascript/index.md create mode 100644 public/content/translations/ur/developers/docs/programming-languages/python/index.md create mode 100644 public/content/translations/ur/developers/docs/programming-languages/ruby/index.md create mode 100644 public/content/translations/ur/developers/docs/programming-languages/rust/index.md create mode 100644 public/content/translations/ur/developers/docs/scaling/index.md create mode 100644 public/content/translations/ur/developers/docs/scaling/optimistic-rollups/index.md create mode 100644 public/content/translations/ur/developers/docs/scaling/plasma/index.md create mode 100644 public/content/translations/ur/developers/docs/scaling/sidechains/index.md create mode 100644 public/content/translations/ur/developers/docs/scaling/state-channels/index.md create mode 100644 public/content/translations/ur/developers/docs/scaling/validium/index.md create mode 100644 public/content/translations/ur/developers/docs/scaling/zk-rollups/index.md diff --git a/public/content/translations/ur/developers/docs/nodes-and-clients/light-clients/index.md b/public/content/translations/ur/developers/docs/nodes-and-clients/light-clients/index.md new file mode 100644 index 00000000000..9285a49e95d --- /dev/null +++ b/public/content/translations/ur/developers/docs/nodes-and-clients/light-clients/index.md @@ -0,0 +1,61 @@ +--- +title: "لائٹ کلائنٹس" +description: "Ethereum لائٹ کلائنٹس کا تعارف۔" +lang: ur-in +--- + +ایک مکمل نوڈ چلانا Ethereum کے ساتھ تعامل کرنے کا سب سے زیادہ ٹرس لیس، نجی، غیر مرکزی اور سنسر شپ مزاحم طریقہ ہے۔ ایک مکمل نوڈ کے ساتھ آپ بلاک چین کی اپنی کاپی رکھتے ہیں جسے آپ فوری طور پر دریافت کرسکتے ہیں اور آپ کو Ethereum کے پیئر ٹو پیئر نیٹ ورک تک براہ راست رسائی حاصل ہوتی ہے۔ تاہم، ایک مکمل نوڈ چلانے کے لیے کافی مقدار میں میموری، اسٹوریج اور CPU کی ضرورت ہوتی ہے۔ اس کا مطلب ہے کہ ہر کسی کے لیے اپنا نوڈ چلانا ممکن نہیں ہے۔ Ethereum روڈ میپ پر اس کے کئی حل موجود ہیں، بشمول اسٹیٹ لیس نیس، لیکن ان کے نفاذ میں کئی سال باقی ہیں۔ قریب کی مدت میں اس کا جواب یہ ہے کہ ایک مکمل نوڈ چلانے کے کچھ فوائد کو بڑی کارکردگی میں بہتری کے لیے ٹریڈ آف کیا جائے جو نوڈز کو بہت کم ہارڈویئر ضروریات کے ساتھ چلانے کی اجازت دیتی ہیں۔ وہ نوڈز جو یہ ٹریڈ آف کرتے ہیں انہیں لائٹ نوڈز کے نام سے جانا جاتا ہے۔ + +## لائٹ کلائنٹ کیا ہے {#what-is-a-light-client} + +ایک لائٹ نوڈ ایک ایسا نوڈ ہے جو لائٹ کلائنٹ سافٹ ویئر چلاتا ہے۔ بلاک چین ڈیٹا کی مقامی کاپیاں رکھنے اور تمام تبدیلیوں کی آزادانہ طور پر تصدیق کرنے کے بجائے، وہ اس کے بجائے کسی فراہم کنندہ سے ضروری ڈیٹا کی درخواست کرتے ہیں۔ فراہم کنندہ ایک مکمل نوڈ سے براہ راست کنکشن یا کسی مرکزی RPC سرور کے ذریعے ہو سکتا ہے۔ اس کے بعد ڈیٹا کی تصدیق لائٹ نوڈ کے ذریعے کی جاتی ہے، جس سے وہ چین کے ہیڈ کے ساتھ اپ ٹو ڈیٹ رہ سکتا ہے۔ لائٹ نوڈ صرف بلاک ہیڈرز پر کارروائی کرتا ہے، صرف کبھی کبھار ہی اصل بلاک کے مواد کو ڈاؤن لوڈ کرتا ہے۔ نوڈز اپنے ہلکے پن میں مختلف ہو سکتے ہیں، یہ اس بات پر منحصر ہے کہ وہ لائٹ اور فل کلائنٹ سافٹ ویئر کے کن امتزاج کو چلاتے ہیں۔ مثال کے طور پر، سب سے ہلکی کنفیگریشن ایک لائٹ ایگزیکیوشن کلائنٹ اور ایک لائٹ کنسینسس کلائنٹ چلانا ہوگی۔ یہ بھی امکان ہے کہ بہت سے نوڈز مکمل ایگزیکیوشن کلائنٹس کے ساتھ لائٹ کنسینسس کلائنٹس، یا اس کے برعکس چلانے کا انتخاب کریں گے۔ + +## لائٹ کلائنٹس کیسے کام کرتے ہیں؟ {#how-do-light-clients-work} + +جب Ethereum نے پروف آف اسٹیک پر مبنی کنسینسس میکانزم کا استعمال شروع کیا، تو خاص طور پر لائٹ کلائنٹس کو سپورٹ کرنے کے لیے نیا انفراسٹرکچر متعارف کرایا گیا۔ یہ ہر 1.1 دن میں 512 ویلیڈیٹرز کے ایک سب سیٹ کو تصادفی طور پر منتخب کرکے کام کرتا ہے تاکہ وہ **سنک کمیٹی** کے طور پر کام کرے۔ سنک کمیٹی حالیہ بلاکس کے ہیڈر پر دستخط کرتی ہے۔ ہر بلاک ہیڈر میں سنک کمیٹی میں ویلیڈیٹرز کے مجموعی دستخط اور ایک "بٹ فیلڈ" ہوتا ہے جو یہ دکھاتا ہے کہ کن ویلیڈیٹرز نے دستخط کیے اور کن نے نہیں۔ ہر ہیڈر میں ان ویلیڈیٹرز کی فہرست بھی شامل ہوتی ہے جن سے اگلے بلاک پر دستخط کرنے میں حصہ لینے کی توقع کی جاتی ہے۔ اس کا مطلب ہے کہ ایک لائٹ کلائنٹ تیزی سے دیکھ سکتا ہے کہ سنک کمیٹی نے موصول ہونے والے ڈیٹا پر دستخط کردیے ہیں، اور وہ یہ بھی جانچ سکتا ہے کہ آیا سنک کمیٹی اصلی ہے یا نہیں، اس کا موازنہ اس سے کرکے جس کے بارے میں پچھلے بلاک میں توقع کرنے کے لیے کہا گیا تھا۔ اس طرح، لائٹ کلائنٹ اصل میں بلاک کو ڈاؤن لوڈ کیے بغیر، صرف ہیڈر جس میں خلاصہ معلومات ہوتی ہیں، کے ذریعے تازہ ترین Ethereum بلاک کے بارے میں اپنے علم کو اپ ڈیٹ کرتا رہ سکتا ہے۔ + +ایگزیکیوشن لیئر پر لائٹ ایگزیکیوشن کلائنٹ کے لیے کوئی واحد تفصیلات موجود نہیں ہے۔ ایک لائٹ ایگزیکیوشن کلائنٹ کا دائرہ کار ایک مکمل ایگزیکیوشن کلائنٹ کے "لائٹ موڈ" سے مختلف ہو سکتا ہے جس میں ایک مکمل نوڈ کی تمام EVM اور نیٹ ورکنگ کی فعالیت ہوتی ہے لیکن وہ صرف بلاک ہیڈرز کی تصدیق کرتا ہے، اور متعلقہ ڈیٹا کو ڈاؤن لوڈ نہیں کرتا، یا یہ ایک زیادہ سٹرپڈ ڈاؤن کلائنٹ ہو سکتا ہے جو Ethereum کے ساتھ تعامل کرنے کے لیے RPC فراہم کنندہ کو درخواستیں بھیجنے پر بہت زیادہ انحصار کرتا ہے۔ + +## لائٹ کلائنٹس کیوں اہم ہیں؟ {#why-are-light-clients-important} + +لائٹ کلائنٹس اس لیے اہم ہیں کیونکہ وہ صارفین کو آنے والے ڈیٹا کی تصدیق کرنے کی اجازت دیتے ہیں بجائے اس کے کہ وہ آنکھ بند کرکے بھروسہ کریں کہ ان کا ڈیٹا فراہم کنندہ صحیح اور ایماندار ہے، جبکہ ایک مکمل نوڈ کے حسابی وسائل کا صرف ایک چھوٹا سا حصہ استعمال کرتے ہیں۔ لائٹ کلائنٹس کو موصول ہونے والے ڈیٹا کو ان بلاک ہیڈرز کے خلاف چیک کیا جا سکتا ہے جن کے بارے میں وہ جانتے ہیں کہ ان پر 512 Ethereum ویلیڈیٹرز کے بے ترتیب سیٹ کے کم از کم 2/3 نے دستخط کیے ہیں۔ یہ اس بات کا بہت مضبوط ثبوت ہے کہ ڈیٹا درست ہے۔ + +لائٹ کلائنٹ صرف بہت کم کمپیوٹنگ پاور، میموری اور اسٹوریج کا استعمال کرتا ہے اس لیے اسے موبائل فون پر چلایا جا سکتا ہے، کسی ایپ میں ایمبیڈ کیا جا سکتا ہے یا براؤزر کے حصے کے طور پر استعمال کیا جا سکتا ہے۔ لائٹ کلائنٹس Ethereum تک ٹرسٹ منیمائزڈ رسائی کو اتنا ہی آسان بنانے کا ایک طریقہ ہیں جتنا کسی تیسرے فریق فراہم کنندہ پر بھروسہ کرنا۔ + +آئیے ایک سادہ مثال لیتے ہیں۔ تصور کریں کہ آپ اپنے اکاؤنٹ کا بیلنس چیک کرنا چاہتے ہیں۔ ایسا کرنے کے لیے آپ کو Ethereum نوڈ سے درخواست کرنی ہوگی۔ وہ نوڈ آپ کے بیلنس کے لیے Ethereum اسٹیٹ کی اپنی مقامی کاپی کو چیک کرے گا اور اسے آپ کو واپس کر دے گا۔ اگر آپ کو کسی نوڈ تک براہ راست رسائی نہیں ہے، تو مرکزی آپریٹرز ہیں جو اس ڈیٹا کو بطور سروس فراہم کرتے ہیں۔ آپ انہیں ایک درخواست بھیج سکتے ہیں، وہ اپنے نوڈ کو چیک کرتے ہیں، اور نتیجہ آپ کو واپس بھیجتے ہیں۔ اس میں مسئلہ یہ ہے کہ پھر آپ کو فراہم کنندہ پر بھروسہ کرنا پڑتا ہے کہ وہ آپ کو صحیح معلومات دے رہا ہے۔ اگر آپ خود اس کی تصدیق نہیں کر سکتے تو آپ کبھی بھی واقعی یہ نہیں جان سکتے کہ معلومات درست ہے۔ + +ایک لائٹ کلائنٹ اس مسئلے کو حل کرتا ہے۔ آپ اب بھی کسی بیرونی فراہم کنندہ سے ڈیٹا کی درخواست کرتے ہیں، لیکن جب آپ کو ڈیٹا واپس ملتا ہے تو یہ ایک ثبوت کے ساتھ آتا ہے جسے آپ کا لائٹ نوڈ بلاک ہیڈر میں موصول ہونے والی معلومات کے خلاف چیک کر سکتا ہے۔ اس کا مطلب ہے کہ کسی بھروسہ مند آپریٹر کے بجائے Ethereum آپ کے ڈیٹا کی درستگی کی تصدیق کر رہا ہے۔ + +## لائٹ کلائنٹس کن اختراعات کو ممکن بناتے ہیں؟ {#what-innovations-do-light-clients-enable} + +لائٹ کلائنٹس کا بنیادی فائدہ یہ ہے کہ وہ زیادہ لوگوں کو نہ ہونے کے برابر ہارڈویئر کی ضروریات اور تیسرے فریق پر کم سے کم انحصار کے ساتھ آزادانہ طور پر Ethereum تک رسائی حاصل کرنے کے قابل بناتے ہیں۔ یہ صارفین کے لیے اچھا ہے کیونکہ وہ اپنے ڈیٹا کی خود تصدیق کر سکتے ہیں اور یہ نیٹ ورک کے لیے بھی اچھا ہے کیونکہ یہ ان نوڈز کی تعداد اور تنوع کو بڑھاتا ہے جو چین کی تصدیق کر رہے ہیں۔ + +بہت کم اسٹوریج، میموری اور پروسیسنگ پاور والے آلات پر Ethereum نوڈز چلانے کی صلاحیت لائٹ کلائنٹس کے ذریعے ممکن ہونے والے اختراع کے بڑے شعبوں میں سے ایک ہے۔ جبکہ آج Ethereum نوڈز کو بہت زیادہ کمپیوٹنگ وسائل کی ضرورت ہوتی ہے، لائٹ کلائنٹس کو براؤزرز میں ایمبیڈ کیا جا سکتا ہے، موبائل فونز پر چلایا جا سکتا ہے اور شاید اسمارٹ واچز جیسے چھوٹے آلات پر بھی۔ اس کا مطلب ہے کہ ایمبیڈڈ کلائنٹس والے Ethereum والیٹس موبائل فون پر چل سکتے ہیں۔ اس کا مطلب یہ ہے کہ موبائل والیٹس زیادہ غیر مرکزی ہو سکتے ہیں کیونکہ انہیں اپنے ڈیٹا کے لیے مرکزی ڈیٹا فراہم کنندگان پر بھروسہ نہیں کرنا پڑے گا۔ + +اس کی ایک توسیع **انٹرنیٹ آف تھنگز (IoT)** آلات کو فعال کرنا ہے۔ ایک لائٹ کلائنٹ کو کسی ٹوکن بیلنس یا NFT کی ملکیت کو تیزی سے ثابت کرنے کے لیے استعمال کیا جا سکتا ہے، سنک کمیٹیوں کی طرف سے فراہم کردہ تمام سیکیورٹی گارنٹیوں کے ساتھ، جو ایک IoT نیٹ ورک پر کسی عمل کو متحرک کرتا ہے۔ ایک [سائیکل کرائے کی سروس](https://youtu.be/ZHNrAXf3RDE?t=929) کا تصور کریں جو ایک ایمبیڈڈ لائٹ کلائنٹ والی ایپ کا استعمال کرتی ہے تاکہ یہ تیزی سے تصدیق کی جا سکے کہ آپ رینٹل سروس کے NFT کے مالک ہیں اور اگر ایسا ہے تو، آپ کے لیے سواری کرنے کے لیے ایک سائیکل ان لاک کر دیتی ہے! + +Ethereum رول اپس کو بھی لائٹ کلائنٹس سے فائدہ ہوگا۔ رول اپس کے لیے ایک بڑا مسئلہ ان برجز کو نشانہ بنانے والے ہیکس رہے ہیں جو فنڈز کو Ethereum Mainnet سے رول اپ میں منتقل کرنے کی اجازت دیتے ہیں۔ ایک کمزوری وہ اوریکلز ہیں جن کا استعمال رول اپس یہ پتہ لگانے کے لیے کرتے ہیں کہ کسی صارف نے برج میں رقم جمع کرائی ہے۔ اگر کوئی اوریکل غلط ڈیٹا فیڈ کرتا ہے، تو وہ رول اپ کو یہ سوچنے پر مجبور کر سکتا ہے کہ برج میں رقم جمع ہوئی تھی اور وہ غلط طریقے سے فنڈز جاری کر سکتا ہے۔ رول اپ میں ایمبیڈڈ ایک لائٹ کلائنٹ کو کرپٹڈ اوریکلز سے بچانے کے لیے استعمال کیا جا سکتا ہے کیونکہ برج میں جمع کرائی گئی رقم ایک ثبوت کے ساتھ آسکتی ہے جس کی تصدیق رول اپ کے ذریعے کوئی بھی ٹوکن جاری کرنے سے پہلے کی جا سکتی ہے۔ یہی تصور دوسرے انٹرچین برجز پر بھی لاگو کیا جا سکتا ہے۔ + +لائٹ کلائنٹس کو Ethereum والیٹس کو اپ گریڈ کرنے کے لیے بھی استعمال کیا جا سکتا ہے۔ RPC فراہم کنندہ سے فراہم کردہ ڈیٹا پر بھروسہ کرنے کے بجائے، آپ کا والیٹ ایک ایمبیڈڈ لائٹ کلائنٹ کا استعمال کرتے ہوئے آپ کو پیش کیے جانے والے ڈیٹا کی براہ راست تصدیق کر سکتا ہے۔ اس سے آپ کے والیٹ کی سیکیورٹی میں اضافہ ہوگا۔ اگر آپ کا RPC فراہم کنندہ بے ایمان تھا اور اس نے آپ کو غلط ڈیٹا فراہم کیا، تو ایمبیڈڈ لائٹ کلائنٹ آپ کو بتا سکتا ہے! + +## لائٹ کلائنٹ کی ترقی کی موجودہ حالت کیا ہے؟ {#current-state-of-development} + +کئی لائٹ کلائنٹس ترقی کے مراحل میں ہیں، جن میں ایگزیکیوشن، کنسینسس اور مشترکہ ایگزیکیوشن/کنسینسس لائٹ کلائنٹس شامل ہیں۔ یہ وہ لائٹ کلائنٹ نفاذات ہیں جن کے بارے میں ہم اس صفحہ کو لکھنے کے وقت جانتے ہیں: + +- [Lodestar](https://github.com/ChainSafe/lodestar/tree/unstable/packages/light-client): TypeScript میں کنسینسس لائٹ کلائنٹ +- [Helios](https://github.com/a16z/helios): Rust میں مشترکہ ایگزیکیوشن اور کنسینسس لائٹ کلائنٹ +- [Geth](https://github.com/ethereum/go-ethereum/tree/master/beacon/light): Go میں ایگزیکیوشن کلائنٹ کے لیے لائٹ موڈ (زیرِ ترقی) +- [Nimbus](https://nimbus.guide/el-light-client.html): Nim میں کنسینسس لائٹ کلائنٹ + +ہمارے علم کے مطابق ان میں سے کوئی بھی ابھی تک پروڈکشن کے لیے تیار نہیں سمجھا جاتا ہے۔ + +ان طریقوں کو بہتر بنانے کے لیے بھی بہت کام کیا جا رہا ہے جن سے لائٹ کلائنٹس Ethereum ڈیٹا تک رسائی حاصل کر سکتے ہیں۔ فی الحال، لائٹ کلائنٹس کلائنٹ/سرور ماڈل کا استعمال کرتے ہوئے مکمل نوڈز کو RPC درخواستوں پر انحصار کرتے ہیں، لیکن مستقبل میں [Portal Network](https://www.ethportal.net/) جیسے ایک وقف شدہ نیٹ ورک کا استعمال کرتے ہوئے ڈیٹا کی درخواست زیادہ غیر مرکزی طریقے سے کی جا سکتی ہے، جو پیئر-ٹو-پیئر گوسپ پروٹوکول کا استعمال کرتے ہوئے لائٹ کلائنٹس کو ڈیٹا فراہم کر سکتا ہے۔ + +دیگر [روڈ میپ](/roadmap/) آئٹمز جیسے [Verkle trees](/roadmap/verkle-trees/) اور [اسٹیٹ لیس نیس](/roadmap/statelessness/) بالآخر لائٹ کلائنٹس کی سیکیورٹی گارنٹیوں کو مکمل کلائنٹس کے برابر لے آئیں گے۔ + +## مزید پڑھیں {#further-reading} + +- [Geth لائٹ کلائنٹس پر Zsolt Felfodhi](https://www.youtube.com/watch?v=EPZeFXau-RE) +- [لائٹ کلائنٹ نیٹ ورکنگ پر Etan Kissling](https://www.youtube.com/watch?v=85MeiMA4dD8) +- [The Merge کے بعد لائٹ کلائنٹس پر Etan Kissling](https://www.youtube.com/watch?v=ZHNrAXf3RDE) +- [Piper Merriam: فنکشنل لائٹ کلائنٹس کی طرف پیچیدہ راستہ](https://snakecharmers.ethereum.org/the-winding-road-to-functional-light-clients/) diff --git a/public/content/translations/ur/developers/docs/nodes-and-clients/node-architecture/index.md b/public/content/translations/ur/developers/docs/nodes-and-clients/node-architecture/index.md new file mode 100644 index 00000000000..89267dcb3b7 --- /dev/null +++ b/public/content/translations/ur/developers/docs/nodes-and-clients/node-architecture/index.md @@ -0,0 +1,59 @@ +--- +title: "نوڈ کا فن تعمیر" +description: "ایتھیریم نوڈز کو کیسے منظم کیا جاتا ہے اس کا تعارف۔" +lang: ur-in +--- + +ایک ایتھیریم نوڈ دو کلائنٹس پر مشتمل ہوتا ہے: ایک [ایگزیکیوشن کلائنٹ](/developers/docs/nodes-and-clients/#execution-clients) اور ایک [کنسینسس کلائنٹ](/developers/docs/nodes-and-clients/#consensus-clients)۔ ایک نوڈ کو نیا بلاک تجویز کرنے کے لیے، اسے ایک [ویلیڈیٹر کلائنٹ](#validators) بھی چلانا ہوگا۔ + +جب ایتھیریم [پروف-آف-ورک](/developers/docs/consensus-mechanisms/pow/) استعمال کر رہا تھا، تو ایک مکمل ایتھیریم نوڈ چلانے کے لیے ایک ایگزیکیوشن کلائنٹ کافی تھا۔ تاہم، [پروف-آف-اسٹیک](/developers/docs/consensus-mechanisms/pow/) کو نافذ کرنے کے بعد سے، ایگزیکیوشن کلائنٹ کو ایک دوسرے سافٹ ویئر کے ساتھ استعمال کیا جانا چاہیے جسے [کنسینسس کلائنٹ](/developers/docs/nodes-and-clients/#consensus-clients) کہا جاتا ہے۔ + +نیچے دیا گیا ڈایاگرام دو ایتھیریم کلائنٹس کے درمیان تعلق کو ظاہر کرتا ہے۔ دونوں کلائنٹس اپنے اپنے پیئر-ٹو-پیئر (P2P) نیٹ ورکس سے جڑتے ہیں۔ الگ الگ P2P نیٹ ورکس کی ضرورت ہے کیونکہ ایگزیکیوشن کلائنٹس اپنے P2P نیٹ ورک پر ٹرانزیکشنز کو براڈکاسٹ کرتے ہیں، جس سے وہ اپنے مقامی ٹرانزیکشن پول کو منظم کر سکتے ہیں، جبکہ کنسینسس کلائنٹس اپنے P2P نیٹ ورک پر بلاکس کو براڈکاسٹ کرتے ہیں، جس سے کنسینسس اور چین کی ترقی ممکن ہوتی ہے۔ + +![](node-architecture-text-background.png) + +_ایگزیکیوشن کلائنٹ کے لیے کئی آپشنز ہیں جن میں Erigon، Nethermind اور Besu شامل ہیں_۔ + +اس دو-کلائنٹ ساخت کے کام کرنے کے لیے، کنسینسس کلائنٹس کو ایگزیکیوشن کلائنٹ کو ٹرانزیکشنز کے بنڈل بھیجنے چاہئیں۔ ایگزیکیوشن کلائنٹ مقامی طور پر ٹرانزیکشنز کو ایگزیکیوٹ کرتا ہے تاکہ اس بات کی توثیق کی جا سکے کہ ٹرانزیکشنز ایتھیریم کے کسی اصول کی خلاف ورزی نہیں کرتے ہیں اور ایتھیریم کی اسٹیٹ میں مجوزہ اپ ڈیٹ درست ہے۔ جب کسی نوڈ کو بلاک پروڈیوسر کے طور پر منتخب کیا جاتا ہے تو اس کا کنسینسس کلائنٹ انسٹینس ایگزیکیوشن کلائنٹ سے نئے بلاک میں شامل کرنے اور عالمی اسٹیٹ کو اپ ڈیٹ کرنے کے لیے ٹرانزیکشنز کے بنڈلز کی درخواست کرتا ہے۔ کنسینسس کلائنٹ [انجن API](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md) کا استعمال کرتے ہوئے مقامی RPC کنکشن کے ذریعے ایگزیکیوشن کلائنٹ کو چلاتا ہے۔ + +## ایگزیکیوشن کلائنٹ کیا کرتا ہے؟ {#execution-client} + +ایگزیکیوشن کلائنٹ ٹرانزیکشن کی توثیق، ہینڈلنگ، اور براڈکاسٹنگ کے ساتھ ساتھ اسٹیٹ مینجمنٹ اور ایتھیریم ورچوئل مشین ([EVM](/developers/docs/evm/)) کو سپورٹ کرنے کا ذمہ دار ہے۔ یہ بلاک بنانے، بلاک کی براڈکاسٹنگ یا کنسینسس منطق کو سنبھالنے کا ذمہ دار **نہیں** ہے۔ یہ کنسینسس کلائنٹ کے دائرہ کار میں ہیں۔ + +ایگزیکیوشن کلائنٹ ایگزیکیوشن پے لوڈز بناتا ہے - ٹرانزیکشنز کی فہرست، اپ ڈیٹ شدہ اسٹیٹ ٹرائی، اور ایگزیکیوشن سے متعلق دیگر ڈیٹا۔ کنسینسس کلائنٹس ہر بلاک میں ایگزیکیوشن پے لوڈ شامل کرتے ہیں۔ ایگزیکیوشن کلائنٹ نئے بلاکس میں ٹرانزیکشنز کو دوبارہ ایگزیکیوٹ کرنے کا بھی ذمہ دار ہے تاکہ یہ یقینی بنایا جا سکے کہ وہ درست ہیں۔ ٹرانزیکشنز کو ایگزیکیوشن کلائنٹ کے ایمبیڈڈ کمپیوٹر پر ایگزیکیوٹ کیا جاتا ہے، جسے [ایتھیریم ورچوئل مشین (EVM)](/developers/docs/evm) کے نام سے جانا جاتا ہے۔ + +ایگزیکیوشن کلائنٹ [RPC طریقوں](/developers/docs/apis/json-rpc) کے ذریعے ایتھیریم کو ایک یوزر انٹرفیس بھی پیش کرتا ہے جو صارفین کو ایتھیریم بلاک چین سے استفسار کرنے، ٹرانزیکشنز جمع کرنے اور اسمارٹ کنٹریکٹس کو تعینات کرنے کے قابل بناتا ہے۔ یہ عام ہے کہ RPC کالز کو [Web3js](https://docs.web3js.org/)، [Web3py](https://web3py.readthedocs.io/en/v5/) جیسی لائبریری، یا براؤزر والیٹ جیسے یوزر انٹرفیس کے ذریعے ہینڈل کیا جائے۔ + +خلاصہ یہ ہے کہ، ایگزیکیوشن کلائنٹ ہے: + +- ایتھیریم کا ایک یوزر گیٹ وے +- ایتھیریم ورچوئل مشین، ایتھیریم کی اسٹیٹ اور ٹرانزیکشن پول کا گھر۔ + +## کنسینسس کلائنٹ کیا کرتا ہے؟ {#consensus-client} + +کنسینسس کلائنٹ اس تمام منطق کو سنبھالتا ہے جو ایک نوڈ کو ایتھیریم نیٹ ورک کے ساتھ مطابقت پذیر رہنے کے قابل بناتی ہے۔ اس میں ساتھیوں سے بلاکس وصول کرنا اور ایک فورک چوائس الگورتھم چلانا شامل ہے تاکہ یہ یقینی بنایا جا سکے کہ نوڈ ہمیشہ اس چین کی پیروی کرتا ہے جس میں تصدیقوں کا سب سے زیادہ جمع ہو (ویلیڈیٹر کے موثر بیلنس کے حساب سے وزنی)۔ ایگزیکیوشن کلائنٹ کی طرح، کنسینسس کلائنٹس کا اپنا P2P نیٹ ورک ہوتا ہے جس کے ذریعے وہ بلاکس اور تصدیقیں شیئر کرتے ہیں۔ + +کنسینسس کلائنٹ بلاکس کی تصدیق کرنے یا تجویز کرنے میں حصہ نہیں لیتا - یہ کام ایک ویلیڈیٹر کے ذریعے کیا جاتا ہے، جو کنسینسس کلائنٹ کا ایک اختیاری ایڈ-آن ہے۔ ایک ویلیڈیٹر کے بغیر کنسینسس کلائنٹ صرف چین کے ہیڈ کے ساتھ مطابقت رکھتا ہے، جس سے نوڈ مطابقت پذیر رہتا ہے۔ یہ ایک صارف کو اپنے ایگزیکیوشن کلائنٹ کا استعمال کرتے ہوئے ایتھیریم کے ساتھ لین دین کرنے کے قابل بناتا ہے، اس یقین کے ساتھ کہ وہ صحیح چین پر ہیں۔ + +## ویلیڈیٹرز {#validators} + +اسٹیکنگ اور ویلیڈیٹر سافٹ ویئر چلانے سے ایک نوڈ نیا بلاک تجویز کرنے کے لیے منتخب ہونے کا اہل بن جاتا ہے۔ نوڈ آپریٹرز ڈیپازٹ کنٹریکٹ میں 32 ETH جمع کر کے اپنے کنسینسس کلائنٹس میں ایک ویلیڈیٹر شامل کر سکتے ہیں۔ ویلیڈیٹر کلائنٹ کنسینسس کلائنٹ کے ساتھ بنڈل میں آتا ہے اور اسے کسی بھی وقت نوڈ میں شامل کیا جا سکتا ہے۔ ویلیڈیٹر تصدیقوں اور بلاک کی تجاویز کو سنبھالتا ہے۔ یہ ایک نوڈ کو جرمانے یا سلیشنگ کے ذریعے انعامات حاصل کرنے یا ETH کھونے کے قابل بھی بناتا ہے۔ + +[اسٹیکنگ کے بارے میں مزید](/staking/)۔ + +## ایک نوڈ کے اجزاء کا موازنہ {#node-comparison} + +| ایگزیکیوشن کلائنٹ | کنسینسس کلائنٹ | ویلیڈیٹر | +| ---------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------- | +| اپنے P2P نیٹ ورک پر ٹرانزیکشنز کو براڈکاسٹ کرتا ہے | اپنے P2P نیٹ ورک پر بلاکس اور تصدیقوں کو براڈکاسٹ کرتا ہے | بلاکس تجویز کرتا ہے | +| ٹرانزیکشنز کو ایگزیکیوٹ/دوبارہ ایگزیکیوٹ کرتا ہے | فورک چوائس الگورتھم چلاتا ہے | انعامات/جرمانے حاصل کرتا ہے | +| آنے والی اسٹیٹ تبدیلیوں کی تصدیق کرتا ہے | چین کے ہیڈ کا ٹریک رکھتا ہے | تصدیقیں کرتا ہے | +| اسٹیٹ اور رسیدوں کی ٹرائی کو منظم کرتا ہے | بیکن اسٹیٹ کو منظم کرتا ہے (جس میں کنسینسس اور ایگزیکیوشن کی معلومات ہوتی ہیں) | 32 ETH اسٹیک کرنے کی ضرورت ہوتی ہے | +| ایگزیکیوشن پے لوڈ بناتا ہے | RANDAO میں جمع شدہ بے ترتیبی کا ٹریک رکھتا ہے (ایک الگورتھم جو ویلیڈیٹر کے انتخاب اور دیگر کنسینسس آپریشنز کے لیے قابل تصدیق بے ترتیبی فراہم کرتا ہے) | سلیش کیا جا سکتا ہے | +| ایتھیریم کے ساتھ تعامل کے لیے JSON-RPC API کو ظاہر کرتا ہے | جواز اور حتمی شکل کا ٹریک رکھتا ہے | | + +## مزید پڑھیں {#further-reading} + +- [پروف-آف-اسٹیک](/developers/docs/consensus-mechanisms/pos) +- [بلاک کی تجویز](/developers/docs/consensus-mechanisms/pos/block-proposal) +- [ویلیڈیٹر کے انعامات اور جرمانے](/developers/docs/consensus-mechanisms/pos/rewards-and-penalties) diff --git a/public/content/translations/ur/developers/docs/nodes-and-clients/nodes-as-a-service/index.md b/public/content/translations/ur/developers/docs/nodes-and-clients/nodes-as-a-service/index.md new file mode 100644 index 00000000000..29c0111f19a --- /dev/null +++ b/public/content/translations/ur/developers/docs/nodes-and-clients/nodes-as-a-service/index.md @@ -0,0 +1,418 @@ +--- +title: "نوڈز بطور سروس" +description: "نوڈ سروسز، ان کے فوائد و نقصانات، اور مقبول فراہم کنندگان کا ایک ابتدائی سطح کا جائزہ۔" +lang: ur-in +sidebarDepth: 2 +--- + +## تعارف {#Introduction} + +اپنا [Ethereum نوڈ](/developers/docs/nodes-and-clients/#what-are-nodes-and-clients) چلانا مشکل ہو سکتا ہے، خاص طور پر جب آپ شروعات کر رہے ہوں یا تیزی سے اسکیلنگ کر رہے ہوں۔ [کئی سروسز](#popular-node-services) ہیں جو آپ کے لیے آپٹمائزڈ نوڈ انفراسٹرکچر چلاتی ہیں، تاکہ آپ اس کے بجائے اپنی ایپلیکیشن یا پروڈکٹ تیار کرنے پر توجہ مرکوز کر سکیں۔ ہم وضاحت کریں گے کہ نوڈ سروسز کیسے کام کرتی ہیں، ان کے استعمال کے فوائد و نقصانات کیا ہیں اور اگر آپ شروعات کرنے میں دلچسپی رکھتے ہیں تو فراہم کنندگان کی فہرست بھی دیں گے۔ + +## شرائط {#prerequisites} + +اگر آپ کو پہلے سے یہ سمجھ نہیں ہے کہ نوڈز اور کلائنٹس کیا ہیں، تو [نوڈز اور کلائنٹس](/developers/docs/nodes-and-clients/) دیکھیں۔ + +## اسٹیکرز {#stakoooooooooooooors} + +سولو اسٹیکرز کو تھرڈ پارٹی فراہم کنندگان پر انحصار کرنے کے بجائے اپنا انفراسٹرکچر خود چلانا چاہیے۔ اس کا مطلب ہے ایک ایگزیکیوشن کلائنٹ کو کنسینسس کلائنٹ کے ساتھ ملا کر چلانا۔ [The Merge](/roadmap/merge) سے پہلے، صرف ایک کنسینسس کلائنٹ چلانا اور ایگزیکیوشن ڈیٹا کے لیے ایک مرکزی فراہم کنندہ کا استعمال کرنا ممکن تھا؛ اب یہ ممکن نہیں ہے - ایک سولو اسٹیکر کو دونوں کلائنٹس چلانے چاہئیں۔ تاہم، اس عمل کو آسان بنانے کے لیے سروسز دستیاب ہیں۔ + +[نوڈ چلانے کے بارے میں مزید پڑھیں](/developers/docs/nodes-and-clients/run-a-node/)۔ + +اس صفحے پر بیان کردہ سروسز نان-اسٹیکنگ نوڈز کے لیے ہیں۔ + +## نوڈ سروسز کیسے کام کرتی ہیں؟ {#how-do-node-services-work} + +نوڈ سروس فراہم کنندگان آپ کے لیے پس پردہ ڈسٹری بیوٹڈ نوڈ کلائنٹس چلاتے ہیں، لہذا آپ کو ایسا کرنے کی ضرورت نہیں ہے۔ + +یہ سروسز عام طور پر ایک API کی (key) فراہم کرتی ہیں جسے آپ بلاک چین پر لکھنے اور پڑھنے کے لیے استعمال کر سکتے ہیں۔ ان میں اکثر مین نیٹ (Mainnet) کے علاوہ [Ethereum ٹیسٹ نیٹس](/developers/docs/networks/#ethereum-testnets) تک رسائی بھی شامل ہوتی ہے۔ + +کچھ سروسز آپ کو اپنا وقف شدہ نوڈ پیش کرتی ہیں جسے وہ آپ کے لیے منظم کرتے ہیں، جبکہ دیگر نوڈز پر سرگرمی تقسیم کرنے کے لیے لوڈ بیلنسر استعمال کرتے ہیں۔ + +تقریباً تمام نوڈ سروسز کو انٹیگریٹ کرنا انتہائی آسان ہے، جس میں آپ کے خود میزبان نوڈ کو تبدیل کرنے، یا خود سروسز کے درمیان سوئچ کرنے کے لیے آپ کے کوڈ میں ایک لائن کی تبدیلیاں شامل ہیں۔ + +اکثر نوڈ سروسز مختلف قسم کے [نوڈ کلائنٹس](/developers/docs/nodes-and-clients/#execution-clients) اور [اقسام](/developers/docs/nodes-and-clients/#node-types) چلائیں گی، جس سے آپ کو ایک API میں کلائنٹ کے مخصوص طریقوں کے علاوہ مکمل اور آرکائیو نوڈز تک رسائی حاصل ہو گی۔ + +یہ نوٹ کرنا ضروری ہے کہ نوڈ سروسز آپ کی نجی کیز (private keys) یا معلومات کو اسٹور نہیں کرتی ہیں اور نہ ہی انہیں کرنا چاہیے۔ + +## نوڈ سروس استعمال کرنے کے کیا فوائد ہیں؟ {#benefits-of-using-a-node-service} + +نوڈ سروس استعمال کرنے کا بنیادی فائدہ یہ ہے کہ آپ کو خود نوڈز کو برقرار رکھنے اور ان کا انتظام کرنے میں انجینئرنگ کا وقت صرف نہیں کرنا پڑتا۔ یہ آپ کو انفراسٹرکچر کی دیکھ بھال کی فکر کرنے کے بجائے اپنی پروڈکٹ بنانے پر توجہ مرکوز کرنے کی اجازت دیتا ہے۔ + +اپنے نوڈز چلانا اسٹوریج سے لے کر بینڈوتھ اور قیمتی انجینئرنگ وقت تک بہت مہنگا ہو سکتا ہے۔ اسکیلنگ کے وقت مزید نوڈز کو اسپن اپ کرنا، نوڈز کو تازہ ترین ورژنز میں اپ گریڈ کرنا، اور اسٹیٹ کی ہم آہنگی (consistency) کو یقینی بنانا جیسی چیزیں آپ کو اپنی مطلوبہ web3 پروڈکٹ بنانے اور اس پر وسائل خرچ کرنے سے ہٹا سکتی ہیں۔ + +## نوڈ سروس استعمال کرنے کے کیا نقصانات ہیں؟ {#cons-of-using-a-node-service} + +نوڈ سروس کا استعمال کرکے آپ اپنی پروڈکٹ کے انفراسٹرکچر کے پہلو کو مرکزی بنا رہے ہیں۔ اسی وجہ سے، وہ پروجیکٹس جو ڈی سینٹرلائزیشن کو انتہائی اہمیت دیتے ہیں، وہ تھرڈ پارٹی کو آؤٹ سورس کرنے کے بجائے نوڈز کو خود ہوسٹ کرنے کو ترجیح دے سکتے ہیں۔ + +اپنا نوڈ چلانے کے [فوائد کے بارے میں مزید پڑھیں](/developers/docs/nodes-and-clients/#benefits-to-you)۔ + +## مقبول نوڈ سروسز {#popular-node-services} + +یہاں کچھ سب سے مقبول Ethereum نوڈ فراہم کنندگان کی فہرست ہے، اگر کوئی چھوٹ گیا ہو تو بلا جھجھک شامل کریں! ہر نوڈ سروس مفت یا بامعاوضہ ٹائرز کے علاوہ مختلف فوائد اور خصوصیات پیش کرتی ہے، آپ کو فیصلہ کرنے سے پہلے یہ تحقیق کرنی چاہیے کہ کونسی سروس آپ کی ضروریات کے لیے بہترین ہے۔ + +- [**Alchemy**](https://alchemy.com/) + - [Docs](https://www.alchemy.com/docs/) + - خصوصیات + - سب سے بڑا مفت ٹائیر جس میں 300M کمپیوٹ یونٹس فی مہینہ (تقریباً 30M getLatestBlock درخواستیں)۔ + - Polygon, Starknet, Optimism, Arbitrum کے لیے ملٹی چین سپورٹ۔ + - سب سے بڑی Ethereum dapps اور DeFi ٹرانزیکشن حجم کا تقریباً 70% کو پاور کرنا۔ + - Alchemy Notify کے ذریعے ریئل ٹائم ویب ہک الرٹس۔ + - بہترین سپورٹ اور قابل اعتمادی / استحکام۔ + - Alchemy کی NFT API + - درخواست ایکسپلورر، Mempool واچر، اور کمپوزر کے ساتھ ڈیش بورڈ۔ + - انٹیگریٹڈ ٹیسٹ نیٹ فاوسیٹ (faucet) تک رسائی۔ + - 18 ہزار صارفین کے ساتھ فعال ڈسکارڈ بلڈر کمیونٹی۔ + +- [**Allnodes**](https://www.allnodes.com/) + - [Docs](https://docs.allnodes.com/) + - خصوصیات + - Allnodes پورٹ فولیو صفحہ پر بنائے گئے PublicNode ٹوکن کے ساتھ کوئی ریٹ کی حد نہیں۔ + - [PublicNode](https://www.publicnode.com) پر پرائیویسی پر مرکوز مفت rpc اینڈ پوائنٹس (100+ بلاک چینز)۔ + - 90+ بلاک چینز کے لیے بغیر ریٹ کی حد کے وقف شدہ نوڈز۔ + - 30+ بلاک چینز کے لیے وقف شدہ آرکائیو نوڈز۔ + - 3 علاقوں (US, EU, Asia) میں دستیاب ہے۔ + - [PublicNode](https://www.publicnode.com/snapshots) پر 100+ بلاک چینز کے لیے اسنیپ شاٹس۔ + - 99.90%-99.98% اپ ٹائم SLA کے ساتھ 24/7 تکنیکی مدد (پلان پر منحصر ہے)۔ + - فی گھنٹہ ادائیگی کی قیمت۔ + - کریڈٹ کارڈ، پے پال یا کرپٹو سے ادائیگی کریں۔ + +- [**All That Node**](https://allthatnode.com/) + - [Docs](https://docs.allthatnode.com/) + - خصوصیات + - مفت ٹائیر کے ساتھ روزانہ 50,000 درخواستیں۔ + - 40 سے زیادہ پروٹوکولز کے لیے سپورٹ۔ + - JSON-RPC (EVM, Tendermint)، REST، اور Websocket APIs کی حمایت کی جاتی ہے۔ + - آرکائیو تاریخ تک لامحدود رسائی۔ + - 24/7 تکنیکی مدد اور 99.9% سے زیادہ اپ ٹائم۔ + - ملٹی چینز پر فاوسیٹ (Faucet) دستیاب ہے۔ + - لامحدود تعداد میں API کیز (keys) کے ساتھ لامحدود اینڈ پوائنٹ رسائی۔ + - Trace/Debug API کی حمایت کی جاتی ہے۔ + - خودکار اپ ڈیٹس۔ + +- [**Amazon Managed Blockchain**](https://aws.amazon.com/managed-blockchain/) + - [Docs](https://aws.amazon.com/managed-blockchain/resources/) + - خصوصیات + - مکمل طور پر منظم Ethereum نوڈز۔ + - چھ علاقوں میں دستیاب ہے۔ + - HTTP اور محفوظ (secure) WebSockets پر JSON-RPC۔ + - 3 چینز کو سپورٹ کرتا ہے۔ + - SLAs, AWS سپورٹ 24/7۔ + - Go-ethereum اور Lighthouse۔ + +- [**Ankr**](https://www.ankr.com/) + - [Docs](https://docs.ankr.com/) + - خصوصیات + - Ankr پروٹوکول - 8+ چینز کے لیے پبلک RPC API اینڈ پوائنٹس تک کھلی رسائی۔ + - قریب ترین دستیاب نوڈ تک تیز اور قابل اعتماد گیٹ وے کے لیے لوڈ بیلنسنگ اور نوڈ ہیلتھ مانیٹرنگ۔ + - پریمیم ٹائیر جو WSS اینڈ پوائنٹ اور بغیر حد کے ریٹ کی اجازت دیتا ہے۔ + - 40+ چینز کے لیے ایک کلک میں مکمل نوڈ اور ویلیڈیٹر نوڈ کی تعیناتی۔ + - جیسے جیسے آپ آگے بڑھیں اسکیل کریں۔ + - تجزیاتی ٹولز۔ + - ڈیش بورڈ + - RPC, HTTPS اور WSS اینڈ پوائنٹس۔ + - براہ راست مدد۔ + +- [**Blast**](https://blastapi.io/) + - [Docs](https://docs.blastapi.io/) + - خصوصیات + - RPC اور WSS سپورٹ۔ + - ملٹی ریجن نوڈ ہوسٹنگ۔ + - ڈی سینٹرلائزڈ انفراسٹرکچر۔ + - پبلک API + - وقف شدہ مفت پلان۔ + - ملٹی چین سپورٹ (17+ بلاک چینز)۔ + - آرکائیو نوڈز۔ + - 24/7 ڈسکارڈ سپورٹ۔ + - 24/7 مانیٹرنگ اور الرٹس۔ + - 99.9% کا مجموعی SLA۔ + - کرپٹو میں ادائیگی کریں۔ + +- [**BlockDaemon**](https://blockdaemon.com/) + - [Docs](https://ubiquity.docs.blockdaemon.com/) + - فوائد + - ڈیش بورڈ + - فی نوڈ کی بنیاد پر۔ + - تجزیات + +- [**BlockPI**](https://blockpi.io/) + - [Docs](https://docs.blockpi.io/) + - خصوصیات + - مضبوط اور تقسیم شدہ نوڈ کا ڈھانچہ۔ + - 40 تک HTTPS اور WSS اینڈ پوائنٹس۔ + - مفت سائن اپ پیکیج اور ماہانہ پیکیج۔ + - Trace طریقہ + آرکائیو ڈیٹا سپورٹ۔ + - 90 دن تک کی میعاد والے پیکیجز۔ + - کسٹم پلان اور 'پے ایز یو گو' ادائیگی۔ + - کرپٹو میں ادائیگی کریں۔ + - براہ راست مدد اور تکنیکی مدد۔ + +- [**Chainbase**](https://www.chainbase.com/) + - [Docs](https://docs.chainbase.com) + - خصوصیات + - انتہائی دستیاب، تیز، اور اسکیل ایبل RPC سروس۔ + - ملٹی چین سپورٹ۔ + - مفت ٹیرف۔ + - صارف دوست ڈیش بورڈ۔ + - RPC سے آگے بلاک چین ڈیٹا سروسز فراہم کرتا ہے۔ + +- [**Chainstack**](https://chainstack.com/) + - [Docs](https://docs.chainstack.com/) + - خصوصیات + - مفت مشترکہ نوڈز۔ + - مشترکہ آرکائیو نوڈز۔ + - GraphQL سپورٹ۔ + - RPC اور WSS اینڈ پوائنٹس۔ + - وقف شدہ مکمل اور آرکائیو نوڈز۔ + - وقف شدہ تعیناتیوں کے لیے تیز سنک ٹائم۔ + - اپنا کلاؤڈ لائیں۔ + - فی گھنٹہ ادائیگی کی قیمت۔ + - براہ راست 24/7 مدد۔ + +- [**dRPC**](https://drpc.org/) + - [Docs](https://drpc.org/docs) + - NodeCloud: پلگ-این-پلے RPC انفرا $10 (USD) سے شروع—مکمل رفتار، کوئی حد نہیں۔ + - NodeCloud کی خصوصیات: + - 185 نیٹ ورکس کے لیے API سپورٹ۔ + - 40+ فراہم کنندگان کا تقسیم شدہ پول۔ + - نو (9) جیو-کلسٹرز کے ساتھ عالمی کوریج۔ + - AI سے چلنے والا لوڈ بیلنسنگ سسٹم۔ + - پے-ایز-یو-گو فلیٹ قیمت—کوئی اضافہ نہیں، کوئی میعاد ختم نہیں، کوئی لاک-ان نہیں۔ + - لامحدود کیز، گرینولر کی ٹویکس، ٹیم کے کردار، فرنٹ-اینڈ تحفظ۔ + - طریقوں کی فلیٹ شرح 20 کمپیوٹ یونٹس (CUs) فی طریقہ۔ + - [پبلک اینڈ پوائنٹ چین لسٹ](https://drpc.org/chainlist) + - [قیمت کا کیلکولیٹر](https://drpc.org/pricing#calculator) + - NodeCore: مکمل کنٹرول چاہنے والی تنظیموں کے لیے اوپن سورس اسٹیک۔ + +- [**GetBlock**](https://getblock.io/) + - [Docs](https://getblock.io/docs/get-started/authentication-with-api-key/) + - خصوصیات + - 40+ بلاک چین نوڈز تک رسائی۔ + - روزانہ 40K مفت درخواستیں۔ + - API کیز (keys) کی لامحدود تعداد۔ + - 1GB/sec پر تیز کنکشن کی رفتار۔ + - Trace+Archive + - جدید تجزیات۔ + - خودکار اپ ڈیٹس۔ + - تکنیکی مدد۔ + +- [**InfStones**](https://infstones.com/) + - خصوصیات + - مفت ٹائیر کا آپشن۔ + - جیسے جیسے آپ آگے بڑھیں اسکیل کریں۔ + - تجزیات + - ڈیش بورڈ + - منفرد API اینڈ پوائنٹس۔ + - وقف شدہ مکمل نوڈز۔ + - وقف شدہ تعیناتیوں کے لیے تیز سنک ٹائم۔ + - براہ راست 24/7 مدد۔ + - 50+ بلاک چین نوڈز تک رسائی۔ + +- [**Infura**](https://infura.io/) + - [Docs](https://infura.io/docs) + - خصوصیات + - مفت ٹائیر کا آپشن۔ + - جیسے جیسے آپ آگے بڑھیں اسکیل کریں۔ + - بامعاوضہ آرکائیول ڈیٹا۔ + - براہ راست مدد۔ + - ڈیش بورڈ + +- [**Kaleido**](https://kaleido.io/) + - [Docs](https://docs.kaleido.io/) + - خصوصیات + - مفت اسٹارٹر ٹائیر۔ + - ایک کلک میں Ethereum نوڈ کی تعیناتی۔ + - حسب ضرورت کلائنٹس اور الگورتھم (Geth, Quorum & Besu || PoA, IBFT & Raft)۔ + - 500+ انتظامی اور سروس APIs۔ + - Ethereum ٹرانزیکشن جمع کرانے کے لیے RESTful انٹرفیس (Apache Kafka کی حمایت یافتہ)۔ + - ایونٹ کی ترسیل کے لیے آؤٹ باؤنڈ اسٹریمز (Apache Kafka کی حمایت یافتہ)۔ + - "آف چین" اور ذیلی خدمات کا گہرا مجموعہ (مثلاً، دو طرفہ انکرپٹڈ میسجنگ ٹرانسپورٹ)۔ + - گورننس اور کردار پر مبنی رسائی کنٹرول کے ساتھ سیدھا نیٹ ورک آن بورڈنگ۔ + - ایڈمنسٹریٹرز اور آخری صارفین دونوں کے لیے جدید صارف کا انتظام۔ + - انتہائی اسکیل ایبل، لچکدار، انٹرپرائز-گریڈ انفراسٹرکچر۔ + - کلاؤڈ HSM پرائیویٹ کی (key) کا انتظام۔ + - Ethereum مین نیٹ ٹیدرنگ۔ + - ISO 27k اور SOC 2، ٹائپ 2 سرٹیفیکیشنز۔ + - متحرک رن ٹائم کنفیگریشن (مثلاً، کلاؤڈ انٹیگریشنز شامل کرنا، نوڈ انگرسس کو تبدیل کرنا، وغیرہ)۔ + - ملٹی کلاؤڈ، ملٹی ریجن اور ہائبرڈ تعیناتی آرکیسٹریشن کے لیے سپورٹ۔ + - سادہ گھنٹہ وار SaaS پر مبنی قیمت۔ + - SLAs اور 24x7 سپورٹ۔ + +- [**Lava Network**](https://www.lavanet.xyz/) + - [Docs](https://docs.lavanet.xyz/) + - خصوصیات + - مفت ٹیسٹ نیٹ کا استعمال۔ + - اعلی اپ ٹائم کے لیے ڈی سینٹرلائزڈ ریڈنڈنسی۔ + - اوپن سورس۔ + - مکمل طور پر ڈی سینٹرلائزڈ SDK۔ + - Ethers.js انٹیگریشن۔ + - بدیہی پروجیکٹ مینجمنٹ انٹرفیس۔ + - کنسینسس پر مبنی ڈیٹا کی سالمیت۔ + - ملٹی چین سپورٹ۔ + +- [**Moralis**](https://moralis.io/) + - [Docs](https://docs.moralis.io/) + - خصوصیات + - مفت مشترکہ نوڈز۔ + - مفت مشترکہ آرکائیو نوڈز۔ + - پرائیویسی پر مرکوز (کوئی لاگ پالیسی نہیں)۔ + - کراس چین سپورٹ۔ + - جیسے جیسے آپ آگے بڑھیں اسکیل کریں۔ + - ڈیش بورڈ + - منفرد Ethereum SDK۔ + - منفرد API اینڈ پوائنٹس۔ + - براہ راست، تکنیکی مدد۔ + +- [**NodeReal MegaNode**](https://nodereal.io/) + - [Docs](https://docs.nodereal.io/docs/introduction) + - خصوصیات + - قابل اعتماد، تیز اور اسکیل ایبل RPC API سروسز۔ + - web3 ڈیولپرز کے لیے بہتر API۔ + - ملٹی چین سپورٹ۔ + - مفت میں شروع کریں۔ + +- [**NOWNodes**](https://nownodes.io/) + - [Docs](https://documenter.getpostman.com/view/13630829/TVmFkLwy) + - خصوصیات + - 50+ بلاک چین نوڈز تک رسائی۔ + - مفت API کی (Key)۔ + - بلاک ایکسپلوررز۔ + - API رسپانس ٹائم ⩽ 1 سیکنڈ۔ + - 24/7 سپورٹ ٹیم۔ + - ذاتی اکاؤنٹ مینیجر۔ + - مشترکہ، آرکائیو، بیک اپ اور وقف شدہ نوڈز۔ + +- [**Pocket Network**](https://www.pokt.network/) + - [Docs](https://docs.pokt.network/home/) + - خصوصیات + - ڈی سینٹرلائزڈ RPC پروٹوکول اور مارکیٹ پلیس۔ + - 1M درخواستیں فی دن مفت ٹائیر (فی اینڈ پوائنٹ، زیادہ سے زیادہ 2)۔ + - [پبلک اینڈ پوائنٹس](https://docs.pokt.network/developers/public-endpoints) + - پری-اسٹیک+ پروگرام (اگر آپ کو روزانہ 1M سے زیادہ درخواستوں کی ضرورت ہے)۔ + - 15+ بلاک چینز کی حمایت یافتہ۔ + - 6400+ نوڈز جو ایپلی کیشنز کی خدمت کے لیے POKT کما رہے ہیں۔ + - آرکائیول نوڈ، ٹریسنگ کے ساتھ آرکائیول نوڈ، اور ٹیسٹ نیٹ نوڈ سپورٹ۔ + - Ethereum مین نیٹ نوڈ کلائنٹ کا تنوع۔ + - ناکامی کا کوئی ایک نقطہ نہیں۔ + - صفر ڈاؤن ٹائم۔ + - لاگت-مؤثر تقریباً-صفر ٹوکنومکس (نیٹ ورک بینڈوتھ کے لیے ایک بار POKT اسٹیک کریں)۔ + - کوئی ماہانہ ڈوبی ہوئی لاگت نہیں، اپنے انفراسٹرکچر کو ایک اثاثہ میں تبدیل کریں۔ + - پروٹوکول میں بلٹ-ان لوڈ-بیلنسنگ۔ + - جیسے جیسے آپ آگے بڑھیں، روزانہ کی درخواستوں اور فی گھنٹہ نوڈز کی تعداد کو لامحدود طور پر اسکیل کریں۔ + - سب سے زیادہ نجی، سنسرشپ-مزاحم آپشن۔ + - ہینڈز-آن ڈیولپر سپورٹ۔ + - [Pocket Portal](https://bit.ly/ETHorg_POKTportal) ڈیش بورڈ اور تجزیات۔ + +- [**QuickNode**](https://www.quicknode.com) + - [Docs](https://www.quicknode.com/docs/) + - خصوصیات + - 24/7 تکنیکی مدد اور ڈیو ڈسکارڈ کمیونٹی۔ + - جیو-بیلنسڈ، ملٹی کلاؤڈ/میٹل، کم لیٹنسی والا نیٹ ورک۔ + - ملٹی چین سپورٹ (Optimism, Arbitrum, Polygon + 11 دیگر)۔ + - رفتار اور استحکام کے لیے درمیانی پرتیں (کال روٹنگ، کیش، انڈیکسنگ)۔ + - ویب ہکس کے ذریعے اسمارٹ-کنٹریکٹ کی نگرانی۔ + - بدیہی ڈیش بورڈ، تجزیاتی سویٹ، RPC کمپوزر۔ + - جدید حفاظتی خصوصیات (JWT، ماسکنگ، وائٹ لسٹنگ)۔ + - NFT ڈیٹا اور تجزیاتی API۔ + - [SOC2 سرٹیفائیڈ](https://www.quicknode.com/security) + - ڈیولپرز سے لے کر انٹرپرائزز تک کے لیے موزوں۔ + +- [**Rivet**](https://rivet.cloud/) + - [Docs](https://rivet.readthedocs.io/en/latest/) + - خصوصیات + - مفت ٹائیر کا آپشن۔ + - جیسے جیسے آپ آگے بڑھیں اسکیل کریں۔ + +- [**SenseiNode**](https://senseinode.com) + - [Docs](https://docs.senseinode.com/) + - خصوصیات + - وقف شدہ اور مشترکہ نوڈز۔ + - ڈیش بورڈ + - لاطینی امریکہ میں مختلف مقامات پر متعدد ہوسٹنگ فراہم کنندگان پر AWS سے ہٹ کر ہوسٹنگ۔ + - Prysm اور Lighthouse کلائنٹس۔ + +- [**SettleMint**](https://console.settlemint.com/) + - [Docs](https://docs.settlemint.com/) + - خصوصیات + - مفت ٹرائل۔ + - جیسے جیسے آپ آگے بڑھیں اسکیل کریں۔ + - GraphQL سپورٹ۔ + - RPC اور WSS اینڈ پوائنٹس۔ + - وقف شدہ مکمل نوڈز۔ + - اپنا کلاؤڈ لائیں۔ + - تجزیاتی ٹولز۔ + - ڈیش بورڈ + - فی گھنٹہ ادائیگی کی قیمت۔ + - براہ راست مدد۔ + +- [**Tenderly**](https://tenderly.co/web3-gateway) + - [Docs](https://docs.tenderly.co/web3-gateway/web3-gateway) + - خصوصیات + - مفت ٹائیر جس میں 25 ملین Tenderly یونٹس فی مہینہ شامل ہیں۔ + - تاریخی ڈیٹا تک مفت رسائی۔ + - 8 گنا تک تیز ریڈ-ہیوی ورک لوڈز۔ + - 100% مستقل ریڈ رسائی۔ + - JSON-RPC اینڈ پوائنٹس۔ + - UI پر مبنی RPC درخواست بلڈر اور درخواست کا پیش نظارہ۔ + - Tenderly کے ڈیولپمنٹ، ڈیبگنگ، اور ٹیسٹنگ ٹولز کے ساتھ مضبوطی سے مربوط۔ + - ٹرانزیکشن سیمولیشنز۔ + - استعمال کے تجزیات اور فلٹرنگ۔ + - آسان رسائی کی (key) کا انتظام۔ + - چیٹ، ای میل، اور ڈسکارڈ کے ذریعے وقف شدہ انجینئرنگ سپورٹ۔ + +- [**Tokenview**](https://services.tokenview.io/) + - [Docs](https://services.tokenview.io/docs?type=nodeService) + - خصوصیات + - 24/7 تکنیکی مدد اور ڈیو ٹیلیگرام کمیونٹی۔ + - ملٹی چین سپورٹ (Bitcoin، Ethereum، Tron، BNB اسمارٹ چین، Ethereum کلاسک)۔ + - RPC اور WSS دونوں اینڈ پوائنٹس استعمال کے لیے کھلے ہیں۔ + - آرکائیو ڈیٹا API تک لامحدود رسائی۔ + - درخواست ایکسپلورر اور Mempool واچر کے ساتھ ڈیش بورڈ۔ + - NFT ڈیٹا API اور ویب ہک نوٹیفائی۔ + - کرپٹو میں ادائیگی کریں۔ + - اضافی رویے کی ضروریات کے لیے بیرونی مدد۔ + +- [**Watchdata**](https://watchdata.io/) + - [Docs](https://docs.watchdata.io/) + - خصوصیات + - ڈیٹا کی قابل اعتمادی۔ + - بغیر کسی ڈاؤن ٹائم کے بلاتعطل کنکشن۔ + - عمل کی آٹومیشن۔ + - مفت ٹیرف۔ + - اعلیٰ حدود جو کسی بھی صارف کے لیے موزوں ہیں۔ + - مختلف نوڈز کے لیے سپورٹ۔ + - وسائل کی اسکیلنگ۔ + - تیز پروسیسنگ رفتار۔ + +- [**ZMOK**](https://zmok.io/) + - [Docs](https://docs.zmok.io/) + - خصوصیات + - بطور سروس فرنٹ-رننگ۔ + - تلاش/فلٹرنگ طریقوں کے ساتھ عالمی ٹرانزیکشنز میمپول۔ + - ٹرانزیکشن بھیجنے کے لیے لامحدود TX فیس اور لامحدود گیس۔ + - نئے بلاک کو سب سے تیزی سے حاصل کرنا اور بلاک چین کو پڑھنا۔ + - فی API کال بہترین قیمت کی گارنٹی۔ + +- [**Zeeve**](https://www.zeeve.io/) + - [Docs](https://www.zeeve.io/docs/) + - خصوصیات + - انٹرپرائز-گریڈ نو-کوڈ آٹومیشن پلیٹ فارم جو بلاک چین نوڈز اور نیٹ ورکس کی تعیناتی، نگرانی اور انتظام فراہم کرتا ہے۔ + - 30+ حمایتی پروٹوکولز اور انٹیگریشنز، اور مزید شامل کیے جا رہے ہیں۔ + - ویلیو ایڈڈ web3 انفراسٹرکچر سروسز جیسے ڈی سینٹرلائزڈ اسٹوریج، ڈی سینٹرلائزڈ شناخت اور حقیقی دنیا کے استعمال کے معاملات کے لیے بلاک چین لیجر ڈیٹا APIs۔ + - 24/7 سپورٹ اور فعال نگرانی ہر وقت نوڈز کی صحت کو یقینی بناتی ہے۔ + - RPC اینڈ پوائنٹس APIs تک تصدیق شدہ رسائی، بدیہی ڈیش بورڈ اور تجزیات کے ساتھ پریشانی سے پاک انتظام پیش کرتے ہیں۔ + - دونوں منظم کلاؤڈ اور اپنا کلاؤڈ لانے کے آپشنز فراہم کرتا ہے اور تمام بڑے کلاؤڈ فراہم کنندگان جیسے AWS، Azure، Google Cloud، Digital Ocean اور آن-پریمس کو سپورٹ کرتا ہے۔ + - ہم ہر بار آپ کے صارف کے قریب ترین نوڈ کو ہٹ کرنے کے لیے ذہین روٹنگ کا استعمال کرتے ہیں۔ + +## مزید پڑھیں {#further-reading} + +- [Ethereum نوڈ سروسز کی فہرست](https://ethereumnodes.com/) + +## متعلقہ موضوعات {#related-topics} + +- [نوڈز اور کلائنٹس](/developers/docs/nodes-and-clients/) + +## متعلقہ ٹیوٹوریلز {#related-tutorials} + +- [Alchemy کا استعمال کرتے ہوئے Ethereum ڈیولپمنٹ کے ساتھ شروعات کرنا](/developers/tutorials/getting-started-with-ethereum-development-using-alchemy/) +- [web3 اور Alchemy کا استعمال کرتے ہوئے ٹرانزیکشن بھیجنے کے لیے گائیڈ](/developers/tutorials/sending-transactions-using-web3-and-alchemy/) diff --git a/public/content/translations/ur/developers/docs/nodes-and-clients/run-a-node/index.md b/public/content/translations/ur/developers/docs/nodes-and-clients/run-a-node/index.md new file mode 100644 index 00000000000..996106f35d2 --- /dev/null +++ b/public/content/translations/ur/developers/docs/nodes-and-clients/run-a-node/index.md @@ -0,0 +1,484 @@ +--- +title: "اپنا خود کا ایتھریم نوڈ اسپن کریں" +description: "ایتھریم کلائنٹ کا اپنا انسٹینس چلانے کا عمومی تعارف۔" +lang: ur-in +sidebarDepth: 2 +--- + +اپنا نوڈ چلانے سے آپ کو مختلف فوائد ملتے ہیں، نئے امکانات کھلتے ہیں، اور ماحولیاتی نظام کو سپورٹ کرنے میں مدد ملتی ہے۔ یہ صفحہ آپ کو اپنا نوڈ اسپن کرنے اور ایتھریم ٹرانزیکشنز کی توثیق میں حصہ لینے میں رہنمائی کرے گا۔ + +نوٹ کریں کہ [The Merge](/roadmap/merge) کے بعد، ایتھریم نوڈ چلانے کے لیے دو کلائنٹس کی ضرورت ہوتی ہے؛ ایک **ایگزیکیوشن لیئر (EL)** کلائنٹ اور ایک **کنسینسس لیئر (CL)** کلائنٹ۔ یہ صفحہ دکھائے گا کہ ایتھریم نوڈ چلانے کے لیے ان دو کلائنٹس کو کیسے انسٹال، کنفیگر اور کنیکٹ کیا جائے۔ + +## شرائط {#prerequisites} + +آپ کو یہ سمجھنا چاہئے کہ ایتھریم نوڈ کیا ہے اور آپ کلائنٹ کیوں چلانا چاہیں گے۔ اس کا احاطہ [نوڈس اور کلائنٹس](/developers/docs/nodes-and-clients/) میں کیا گیا ہے۔ + +اگر آپ نوڈ چلانے کے موضوع میں نئے ہیں، یا کم تکنیکی راستے کی تلاش میں ہیں، تو ہم تجویز کرتے ہیں کہ پہلے [ایتھریم نوڈ چلانے](/run-a-node) پر ہمارا صارف دوست تعارف دیکھیں۔ + +## ایک نقطہ نظر کا انتخاب {#choosing-approach} + +اپنا نوڈ اسپن کرنے میں پہلا قدم اپنے نقطہ نظر کا انتخاب کرنا ہے۔ ضروریات اور مختلف امکانات کی بنیاد پر، آپ کو کلائنٹ کے نفاذ (ایگزیکیوشن اور کنسینسس کلائنٹس دونوں)، ماحول (ہارڈویئر، سسٹم)، اور کلائنٹ کی ترتیبات کے لیے پیرامیٹرز کا انتخاب کرنا ہوگا۔ + +یہ صفحہ ان فیصلوں میں آپ کی رہنمائی کرے گا اور آپ کو اپنا ایتھریم انسٹینس چلانے کا سب سے موزوں طریقہ تلاش کرنے میں مدد کرے گا۔ + +کلائنٹ کے نفاذ میں سے انتخاب کرنے کے لیے، تمام دستیاب مین نیٹ کے لیے تیار [ایگزیکیوشن کلائنٹس](/developers/docs/nodes-and-clients/#execution-clients)، [کنسینسس کلائنٹس](/developers/docs/nodes-and-clients/#consensus-clients) دیکھیں اور [کلائنٹ ڈائیورسٹی](/developers/docs/nodes-and-clients/client-diversity) کے بارے میں جانیں۔ + +کلائنٹس کی [ضروریات](#requirements) پر غور کرتے ہوئے، فیصلہ کریں کہ سافٹ ویئر کو اپنے [ہارڈویئر پر چلانا ہے یا کلاؤڈ میں](#local-vs-cloud)۔ + +ماحول تیار کرنے کے بعد، منتخب کلائنٹس کو یا تو [ابتدائی افراد کے لیے دوستانہ انٹرفیس](#automatized-setup) کے ساتھ یا اعلیٰ اختیارات کے ساتھ ٹرمینل کا استعمال کرتے ہوئے [دستی طور پر](#manual-setup) انسٹال کریں۔ + +جب نوڈ چل رہا ہو اور مطابقت پذیری کر رہا ہو، تو آپ اسے [استعمال کرنے](#using-the-node) کے لیے تیار ہیں، لیکن اس کی [دیکھ بھال](#operating-the-node) پر نظر رکھنا یقینی بنائیں۔ + +![کلائنٹ سیٹ اپ](./diagram.png) + +### ماحول اور ہارڈویئر {#environment-and-hardware} + +#### مقامی یا کلاؤڈ {#local-vs-cloud} + +ایتھریم کلائنٹس صارف کے درجے کے کمپیوٹرز پر چل سکتے ہیں اور انہیں کسی خاص ہارڈویئر کی ضرورت نہیں ہوتی، جیسے کہ مثال کے طور پر کان کنی کی مشینیں۔ لہذا، آپ کے پاس اپنی ضروریات کی بنیاد پر نوڈ کو تعینات کرنے کے لیے مختلف اختیارات ہیں۔ +آسان بنانے کے لیے، آئیے ایک مقامی فزیکل مشین اور کلاؤڈ سرور دونوں پر نوڈ چلانے کے بارے میں سوچتے ہیں: + +- کلاؤڈ + - فراہم کنندگان اعلی سرور اپ ٹائم اور جامد عوامی IP پتے پیش کرتے ہیں + - ایک وقف شدہ یا ورچوئل سرور حاصل کرنا اپنا بنانے سے زیادہ آرام دہ ہوسکتا ہے + - ٹریڈ آف ایک تیسرے فریق - سرور فراہم کنندہ پر بھروسہ کرنا ہے + - مکمل نوڈ کے لیے درکار اسٹوریج سائز کی وجہ سے، کرائے کے سرور کی قیمت زیادہ ہو سکتی ہے +- اپنا ہارڈویئر + - زیادہ ٹرس ٹلیس اور خودمختار نقطہ نظر + - ایک بار کی سرمایہ کاری + - پہلے سے تشکیل شدہ مشینیں خریدنے کا ایک اختیار + - آپ کو مشین اور نیٹ ورکنگ کو جسمانی طور پر تیار کرنا، برقرار رکھنا، اور ممکنہ طور پر خرابیوں کا ازالہ کرنا ہوگا + +دونوں اختیارات کے مختلف فوائد ہیں جن کا خلاصہ اوپر دیا گیا ہے۔ اگر آپ کلاؤڈ حل تلاش کر رہے ہیں، تو بہت سے روایتی کلاؤڈ کمپیوٹنگ فراہم کنندگان کے علاوہ، نوڈس کو تعینات کرنے پر مرکوز خدمات بھی موجود ہیں۔ میزبانی شدہ نوڈس پر مزید اختیارات کے لیے [نوڈس بطور سروس](/developers/docs/nodes-and-clients/nodes-as-a-service/) دیکھیں۔ + +#### ہارڈ ویئر {#hardware} + +تاہم، ایک سنسر شپ مزاحم، غیر مرکزی نیٹ ورک کو کلاؤڈ فراہم کنندگان پر انحصار نہیں کرنا چاہئے۔ اس کے بجائے، اپنے مقامی ہارڈویئر پر اپنا نوڈ چلانا ماحولیاتی نظام کے لیے زیادہ صحت مند ہے۔ [تخمینہ](https://www.ethernodes.org/networkType/cl/Hosting) دکھاتا ہے کہ نوڈس کا ایک بڑا حصہ کلاؤڈ پر چلتا ہے، جو ناکامی کا ایک واحد نقطہ بن سکتا ہے۔ + +ایتھریم کلائنٹس آپ کے کمپیوٹر، لیپ ٹاپ، سرور، یا یہاں تک کہ ایک سنگل بورڈ کمپیوٹر پر بھی چل سکتے ہیں۔ جبکہ اپنے ذاتی کمپیوٹر پر کلائنٹس چلانا ممکن ہے، صرف اپنے نوڈ کے لیے ایک وقف شدہ مشین رکھنا اس کی کارکردگی اور سیکیورٹی کو نمایاں طور پر بڑھا سکتا ہے جبکہ آپ کے بنیادی کمپیوٹر پر اثرات کو کم سے کم کیا جا سکتا ہے۔ + +اپنا ہارڈویئر استعمال کرنا بہت آسان ہوسکتا ہے۔ زیادہ تکنیکی لوگوں کے لیے بہت سے آسان اختیارات کے ساتھ ساتھ جدید سیٹ اپ بھی موجود ہیں۔ تو آئیے آپ کی مشین پر ایتھریم کلائنٹس چلانے کی ضروریات اور ذرائع پر غور کریں۔ + +#### ضروریات {#requirements} + +ہارڈویئر کی ضروریات کلائنٹ کے لحاظ سے مختلف ہوتی ہیں لیکن عام طور پر اتنی زیادہ نہیں ہوتی ہیں کیونکہ نوڈ کو صرف مطابقت پذیر رہنے کی ضرورت ہوتی ہے۔ اسے کان کنی کے ساتھ الجھن میں نہ ڈالیں، جس کے لیے بہت زیادہ کمپیوٹنگ پاور کی ضرورت ہوتی ہے۔ تاہم، زیادہ طاقتور ہارڈویئر کے ساتھ مطابقت پذیری کا وقت اور کارکردگی بہتر ہوتی ہے۔ + +کسی بھی کلائنٹ کو انسٹال کرنے سے پہلے، براہ کرم یقینی بنائیں کہ آپ کے کمپیوٹر کے پاس اسے چلانے کے لیے کافی وسائل ہیں۔ آپ ذیل میں کم از کم اور تجویز کردہ ضروریات تلاش کرسکتے ہیں۔ + +آپ کے ہارڈویئر کے لیے رکاوٹ زیادہ تر ڈسک کی جگہ ہے۔ ایتھریم بلاکچین کی مطابقت پذیری بہت ان پٹ/آؤٹ پٹ پر مبنی ہے اور اس کے لیے بہت زیادہ جگہ کی ضرورت ہوتی ہے۔ مطابقت پذیری کے بعد بھی سینکڑوں جی بی خالی جگہ کے ساتھ ایک **سالڈ اسٹیٹ ڈرائیو (SSD)** رکھنا بہتر ہے۔ + +ڈیٹا بیس کا سائز اور ابتدائی مطابقت پذیری کی رفتار منتخب کلائنٹ، اس کی ترتیب اور [مطابقت پذیری کی حکمت عملی](/developers/docs/nodes-and-clients/#sync-modes) پر منحصر ہے۔ + +یہ بھی یقینی بنائیں کہ آپ کا انٹرنیٹ کنکشن [بینڈوڈتھ کیپ](https://wikipedia.org/wiki/Data_cap) سے محدود نہیں ہے۔ ایک غیر میٹر شدہ کنکشن استعمال کرنے کی سفارش کی جاتی ہے کیونکہ ابتدائی مطابقت پذیری اور نیٹ ورک پر نشر کیا گیا ڈیٹا آپ کی حد سے تجاوز کر سکتا ہے۔ + +##### آپریٹنگ سسٹم + +تمام کلائنٹس بڑے آپریٹنگ سسٹمز - لینکس، میک او ایس، ونڈوز کو سپورٹ کرتے ہیں۔ اس کا مطلب ہے کہ آپ باقاعدہ ڈیسک ٹاپ یا سرور مشینوں پر اس آپریٹنگ سسٹم (OS) کے ساتھ نوڈس چلا سکتے ہیں جو آپ کے لیے بہترین ہے۔ یقینی بنائیں کہ آپ کا OS ممکنہ مسائل اور سیکیورٹی کے خطرات سے بچنے کے لیے تازہ ترین ہے۔ + +##### کم از کم ضروریات + +- 2+ کور والا سی پی یو +- 8 جی بی ریم +- 2 ٹی بی ایس ایس ڈی +- 10+ ایم بٹ/سیکنڈ بینڈوڈتھ + +##### تجویز کردہ وضاحتیں + +- 4+ کور والا تیز سی پی یو +- 16+ جی بی ریم +- 2+ ٹی بی کے ساتھ تیز ایس ایس ڈی +- 25+ ایم بٹ/سیکنڈ بینڈوڈتھ + +آپ کے منتخب کردہ مطابقت پذیری کا موڈ اور کلائنٹ جگہ کی ضروریات کو متاثر کرے گا، لیکن ہم نے ذیل میں ہر کلائنٹ کے لیے درکار ڈسک کی جگہ کا تخمینہ لگایا ہے۔ + +| کلائنٹ | ڈسک کا سائز (سنیپ سنک) | ڈسک کا سائز (مکمل آرکائیو) | +| ---------- | ----------------------------------------- | --------------------------------------------- | +| Besu | 800GB+ | 12TB+ | +| Erigon | N/A | 2.5TB+ | +| Geth | 500GB+ | 12TB+ | +| Nethermind | 500GB+ | 12TB+ | +| Reth | N/A | 2.2TB+ | + +- نوٹ: Erigon اور Reth سنیپ سنک پیش نہیں کرتے ہیں، لیکن مکمل کٹائی ممکن ہے (~2TB Erigon کے لیے، ~1.2TB Reth کے لیے) + +کنسینسس کلائنٹس کے لیے، جگہ کی ضرورت کلائنٹ کے نفاذ اور فعال خصوصیات (مثال کے طور پر، ویلیڈیٹر سلیشر) پر بھی منحصر ہے، لیکن عام طور پر بیکن ڈیٹا کے لیے درکار مزید 200GB کے ساتھ شمار کریں۔ بڑی تعداد میں ویلیڈیٹرز کے ساتھ، بینڈوڈتھ کا بوجھ بھی بڑھتا ہے۔ آپ [اس تجزیے میں کنسینسس کلائنٹ کی ضروریات پر تفصیلات](https://mirror.xyz/0x934e6B4D7eee305F8C9C42b46D6EEA09CcFd5EDc/b69LBy8p5UhcGJqUAmT22dpvdkU-Pulg2inrhoS9Mbc) تلاش کرسکتے ہیں۔ + +#### پلگ اینڈ پلے حل {#plug-and-play} + +اپنے ہارڈویئر کے ساتھ نوڈ چلانے کا سب سے آسان آپشن پلگ اینڈ پلے باکسز کا استعمال ہے۔ وینڈرز سے پہلے سے تشکیل شدہ مشینیں سب سے سیدھا تجربہ پیش کرتی ہیں: آرڈر کریں، جڑیں، چلائیں۔ سافٹ ویئر کی نگرانی اور کنٹرول کے لیے ایک بدیہی گائیڈ اور ڈیش بورڈ کے ساتھ ہر چیز پہلے سے تشکیل شدہ ہے اور خود بخود چلتی ہے۔ + +- [DappNode](https://dappnode.io/) +- [Avado](https://ava.do/) + +#### ایک سنگل بورڈ کمپیوٹر پر ایتھریم {#ethereum-on-a-single-board-computer} + +ایتھریم نوڈ چلانے کا ایک آسان اور سستا طریقہ ایک سنگل بورڈ کمپیوٹر کا استعمال ہے، یہاں تک کہ Raspberry Pi جیسے ARM فن تعمیر کے ساتھ بھی۔ [ARM پر ایتھریم](https://ethereum-on-arm-documentation.readthedocs.io/en/latest/) Raspberry Pi اور دیگر ARM بورڈز کے لیے متعدد ایگزیکیوشن اور کنسینسس کلائنٹ کی آسانی سے چلنے والی تصاویر فراہم کرتا ہے۔ + +اس طرح کے چھوٹے، سستے اور موثر آلات گھر پر نوڈ چلانے کے لیے مثالی ہیں لیکن ان کی محدود کارکردگی کو ذہن میں رکھیں۔ + +## نوڈ کو اسپن کرنا {#spinning-up-node} + +اصل کلائنٹ سیٹ اپ یا تو خودکار لانچرز کے ساتھ یا دستی طور پر کیا جا سکتا ہے، کلائنٹ سافٹ ویئر کو براہ راست ترتیب دے کر۔ + +کم جدید صارفین کے لیے، تجویز کردہ نقطہ نظر ایک لانچر کا استعمال ہے، ایسا سافٹ ویئر جو آپ کو انسٹالیشن کے ذریعے رہنمائی کرتا ہے اور کلائنٹ سیٹ اپ کے عمل کو خودکار کرتا ہے۔ تاہم، اگر آپ کو ٹرمینل استعمال کرنے کا کچھ تجربہ ہے، تو دستی سیٹ اپ کے مراحل پر عمل کرنا آسان ہونا چاہئے۔ + +### رہنمائی والا سیٹ اپ {#automatized-setup} + +متعدد صارف دوست منصوبوں کا مقصد کلائنٹ قائم کرنے کے تجربے کو بہتر بنانا ہے۔ یہ لانچرز خودکار کلائنٹ انسٹالیشن اور کنفیگریشن فراہم کرتے ہیں، کچھ تو کلائنٹس کی رہنمائی والے سیٹ اپ اور نگرانی کے لیے گرافیکل انٹرفیس بھی پیش کرتے ہیں۔ + +ذیل میں کچھ منصوبے ہیں جو آپ کو صرف چند کلکس کے ساتھ کلائنٹس کو انسٹال اور کنٹرول کرنے میں مدد کرسکتے ہیں: + +- [DappNode](https://docs.dappnode.io/docs/user/getting-started/choose-your-path) - DappNode صرف ایک وینڈر سے مشین کے ساتھ نہیں آتا ہے۔ سافٹ ویئر، اصل نوڈ لانچر اور بہت سی خصوصیات والا کنٹرول سینٹر کسی بھی ہارڈویئر پر استعمال کیا جا سکتا ہے۔ +- [EthPillar](https://www.coincashew.com/coins/overview-eth/ethpillar) - ایک مکمل نوڈ قائم کرنے کا تیز ترین اور آسان ترین طریقہ۔ ون لائنر سیٹ اپ ٹول اور نوڈ مینجمنٹ TUI۔ مفت۔ اوپن سورس۔ سولو اسٹیکرز کے ذریعہ ایتھریم کے لیے عوامی سامان۔ ARM64 اور AMD64 سپورٹ۔ +- [eth-docker](https://eth-docker.net/) - Docker کا استعمال کرتے ہوئے خودکار سیٹ اپ جو آسان اور محفوظ اسٹیکنگ پر مرکوز ہے، اس کے لیے بنیادی ٹرمینل اور Docker علم کی ضرورت ہے، جو تھوڑے زیادہ جدید صارفین کے لیے تجویز کیا جاتا ہے۔ +- [Stereum](https://stereum-dev.github.io/ethereum-node-web-docs) - ایک GUI سیٹ اپ گائیڈ، کنٹرول سینٹر، اور بہت سی دیگر خصوصیات کے ساتھ SSH کنکشن کے ذریعے ریموٹ سرور پر کلائنٹس کو انسٹال کرنے کے لیے لانچر۔ +- [NiceNode](https://www.nicenode.xyz/) - آپ کے کمپیوٹر پر نوڈ چلانے کے لیے سیدھے صارف کے تجربے کے ساتھ لانچر۔ بس کلائنٹس کا انتخاب کریں اور انہیں چند کلکس کے ساتھ شروع کریں۔ ابھی بھی ترقی میں ہے۔ +- [Sedge](https://docs.sedge.nethermind.io/docs/intro) - نوڈ سیٹ اپ ٹول جو CLI وزرڈ کا استعمال کرتے ہوئے خود بخود Docker کنفیگریشن تیار کرتا ہے۔ Nethermind کے ذریعہ Go میں لکھا گیا ہے۔ + +### دستی کلائنٹس سیٹ اپ {#manual-setup} + +دوسرا آپشن کلائنٹ سافٹ ویئر کو دستی طور پر ڈاؤن لوڈ، تصدیق اور کنفیگر کرنا ہے۔ یہاں تک کہ اگر کچھ کلائنٹس گرافیکل انٹرفیس پیش کرتے ہیں، تب بھی دستی سیٹ اپ کے لیے ٹرمینل کے ساتھ بنیادی مہارت کی ضرورت ہوتی ہے لیکن یہ بہت زیادہ استعداد پیش کرتا ہے۔ + +جیسا کہ پہلے وضاحت کی گئی ہے، اپنا ایتھریم نوڈ قائم کرنے کے لیے کنسینسس اور ایگزیکیوشن کلائنٹس کی ایک جوڑی چلانے کی ضرورت ہوگی۔ کچھ کلائنٹس میں دوسری قسم کا لائٹ کلائنٹ شامل ہوسکتا ہے اور بغیر کسی دوسرے سافٹ ویئر کی ضرورت کے مطابقت پذیر ہوسکتا ہے۔ تاہم، مکمل طور پر ٹرس ٹلیس تصدیق کے لیے دونوں نفاذ کی ضرورت ہوتی ہے۔ + +#### کلائنٹ سافٹ ویئر حاصل کرنا {#getting-the-client} + +سب سے پہلے، آپ کو اپنا ترجیحی [ایگزیکیوشن کلائنٹ](/developers/docs/nodes-and-clients/#execution-clients) اور [کنسینسس کلائنٹ](/developers/docs/nodes-and-clients/#consensus-clients) سافٹ ویئر حاصل کرنے کی ضرورت ہے۔ + +آپ آسانی سے ایک قابل عمل ایپلیکیشن یا انسٹالیشن پیکیج ڈاؤن لوڈ کرسکتے ہیں جو آپ کے آپریٹنگ سسٹم اور فن تعمیر کے مطابق ہو۔ ڈاؤن لوڈ کردہ پیکجوں کے دستخطوں اور چیکسم کی ہمیشہ تصدیق کریں۔ کچھ کلائنٹس آسان تنصیب اور اپ ڈیٹس کے لیے ریپوزٹریز یا Docker امیجز بھی پیش کرتے ہیں۔ تمام کلائنٹس اوپن سورس ہیں، لہذا آپ انہیں سورس سے بھی بنا سکتے ہیں۔ یہ ایک زیادہ جدید طریقہ ہے، لیکن کچھ معاملات میں، اس کی ضرورت ہوسکتی ہے۔ + +ہر کلائنٹ کو انسٹال کرنے کی ہدایات اوپر دی گئی کلائنٹ فہرستوں میں منسلک دستاویزات میں فراہم کی گئی ہیں۔ + +یہاں کلائنٹس کے ریلیز صفحات ہیں جہاں آپ ان کے پہلے سے بنے ہوئے بائنریز یا انسٹالیشن پر ہدایات تلاش کرسکتے ہیں: + +##### ایگزیکیوشن کلائنٹس + +- [Besu](https://github.com/hyperledger/besu/releases) +- [Erigon](https://github.com/ledgerwatch/erigon/releases) +- [Geth](https://geth.ethereum.org/downloads/) +- [Nethermind](https://downloads.nethermind.io/) +- [Reth](https://reth.rs/installation/installation.html) + +یہ بھی قابل ذکر ہے کہ کلائنٹ کا تنوع [ایگزیکیوشن لیئر](/developers/docs/nodes-and-clients/client-diversity/#execution-layer) پر ایک مسئلہ ہے۔ یہ سفارش کی جاتی ہے کہ قارئین اقلیتی ایگزیکیوشن کلائنٹ چلانے پر غور کریں۔ + +##### کنسینسس کلائنٹس + +- [Lighthouse](https://github.com/sigp/lighthouse/releases/latest) +- [Lodestar](https://chainsafe.github.io/lodestar/run/getting-started/installation#build-from-source) (پہلے سے بنایا ہوا بائنری فراہم نہیں کرتا، صرف Docker امیج یا سورس سے بنانے کے لیے) +- [Nimbus](https://github.com/status-im/nimbus-eth2/releases/latest) +- [Prysm](https://github.com/prysmaticlabs/prysm/releases/latest) +- [Teku](https://github.com/ConsenSys/teku/releases) + +ویلیڈیٹرز چلانے والے کنسینسس نوڈس کے لیے [کلائنٹ ڈائیورسٹی](/developers/docs/nodes-and-clients/client-diversity/) بہت اہم ہے۔ اگر ویلیڈیٹرز کی اکثریت ایک ہی کلائنٹ کے نفاذ کو چلا رہی ہے، تو نیٹ ورک کی سیکیورٹی خطرے میں ہے۔ لہذا یہ سفارش کی جاتی ہے کہ اقلیتی کلائنٹ کو منتخب کرنے پر غور کریں۔ + +[تازہ ترین نیٹ ورک کلائنٹ کے استعمال کو دیکھیں](https://clientdiversity.org/) اور [کلائنٹ ڈائیورسٹی](/developers/docs/nodes-and-clients/client-diversity) کے بارے میں مزید جانیں۔ + +##### سافٹ ویئر کی تصدیق + +انٹرنیٹ سے سافٹ ویئر ڈاؤن لوڈ کرتے وقت، اس کی سالمیت کی تصدیق کرنے کی سفارش کی جاتی ہے۔ یہ قدم اختیاری ہے لیکن خاص طور پر ایتھریم کلائنٹ جیسے اہم انفراسٹرکچر کے ٹکڑے کے ساتھ، ممکنہ حملے کے ویکٹرز سے آگاہ ہونا اور ان سے بچنا ضروری ہے۔ اگر آپ نے پہلے سے بنایا ہوا بائنری ڈاؤن لوڈ کیا ہے، تو آپ کو اس پر بھروسہ کرنے کی ضرورت ہے اور یہ خطرہ مول لینا ہوگا کہ کوئی حملہ آور قابل عمل کو کسی بدنیتی پر مبنی سے بدل سکتا ہے۔ + +ڈویلپرز اپنی PGP کلیدوں کے ساتھ جاری کردہ بائنریز پر دستخط کرتے ہیں تاکہ آپ کرپٹوگرافک طور پر تصدیق کرسکیں کہ آپ بالکل وہی سافٹ ویئر چلا رہے ہیں جو انہوں نے بنایا ہے۔ آپ کو صرف ڈویلپرز کے ذریعہ استعمال ہونے والی عوامی کلیدیں حاصل کرنے کی ضرورت ہے، جو کلائنٹ ریلیز صفحات پر یا دستاویزات میں مل سکتی ہیں۔ کلائنٹ ریلیز اور اس کے دستخط کو ڈاؤن لوڈ کرنے کے بعد، آپ آسانی سے ان کی تصدیق کے لیے PGP نفاذ، جیسے [GnuPG](https://gnupg.org/download/index.html) کا استعمال کرسکتے ہیں۔ [linux](https://www.tecmint.com/verify-pgp-signature-downloaded-software/) یا [Windows/MacOS](https://freedom.press/training/verifying-open-source-software/) پر `gpg` کا استعمال کرتے ہوئے اوپن سورس سافٹ ویئر کی تصدیق پر ایک ٹیوٹوریل دیکھیں۔ + +تصدیق کی ایک اور شکل یہ یقینی بنانا ہے کہ آپ کے ڈاؤن لوڈ کردہ سافٹ ویئر کا ہیش، ایک منفرد کرپٹوگرافک فنگر پرنٹ، ڈویلپرز کے ذریعہ فراہم کردہ سے میل کھاتا ہے۔ یہ PGP استعمال کرنے سے بھی آسان ہے، اور کچھ کلائنٹس صرف یہ آپشن پیش کرتے ہیں۔ بس ڈاؤن لوڈ کردہ سافٹ ویئر پر ہیش فنکشن چلائیں اور اسے ریلیز صفحہ سے موازنہ کریں۔ مثال کے طور پر: + +```sh +sha256sum teku-22.6.1.tar.gz + +9b2f8c1f8d4dab0404ce70ea314ff4b3c77e9d27aff9d1e4c1933a5439767dde +``` + +#### کلائنٹ سیٹ اپ {#client-setup} + +کلائنٹ سافٹ ویئر کو انسٹال، ڈاؤن لوڈ، یا مرتب کرنے کے بعد، آپ اسے چلانے کے لیے تیار ہیں۔ اس کا صرف یہ مطلب ہے کہ اسے مناسب ترتیب کے ساتھ عمل میں لایا جانا چاہئے۔ کلائنٹس بھرپور ترتیب کے اختیارات پیش کرتے ہیں، جو مختلف خصوصیات کو فعال کرسکتے ہیں۔ + +آئیے ان اختیارات سے شروع کریں جو کلائنٹ کی کارکردگی اور ڈیٹا کے استعمال کو نمایاں طور پر متاثر کرسکتے ہیں۔ [مطابقت پذیری کے طریقوں](/developers/docs/nodes-and-clients/#sync-modes) بلاکچین ڈیٹا کو ڈاؤن لوڈ کرنے اور اس کی توثیق کرنے کے مختلف طریقوں کی نمائندگی کرتے ہیں۔ نوڈ شروع کرنے سے پہلے، آپ کو یہ فیصلہ کرنا چاہئے کہ کون سا نیٹ ورک اور مطابقت پذیری کا موڈ استعمال کرنا ہے۔ غور کرنے کے لیے سب سے اہم چیزیں ڈسک کی جگہ، اور کلائنٹ کو درکار مطابقت پذیری کا وقت ہیں۔ کلائنٹ کی دستاویزات پر توجہ دیں تاکہ یہ تعین کیا جاسکے کہ کون سا مطابقت پذیری کا موڈ ڈیفالٹ ہے۔ اگر یہ آپ کے لیے موزوں نہیں ہے، تو سیکیورٹی کی سطح، دستیاب ڈیٹا، اور لاگت کی بنیاد پر دوسرا انتخاب کریں۔ مطابقت پذیری الگورتھم کے علاوہ، آپ مختلف قسم کے پرانے ڈیٹا کی کٹائی بھی ترتیب دے سکتے ہیں۔ کٹائی پرانے ڈیٹا کو حذف کرنے کے قابل بناتی ہے، یعنی، ریاستی ٹرائی نوڈس کو ہٹانا جو حالیہ بلاکس سے ناقابل رسائی ہیں۔ + +دیگر بنیادی کنفیگریشن آپشنز ہیں، مثلاً، نیٹ ورک کا انتخاب - مین نیٹ یا ٹیسٹ نیٹ، RPC یا WebSockets کے لیے HTTP اینڈ پوائنٹ کو فعال کرنا، وغیرہ۔ آپ کلائنٹ کی دستاویزات میں تمام خصوصیات اور اختیارات تلاش کرسکتے ہیں۔ مختلف کلائنٹ کنفیگریشنز کو CLI یا کنفگ فائل میں براہ راست متعلقہ جھنڈوں کے ساتھ کلائنٹ کو چلا کر ترتیب دیا جاسکتا ہے۔ ہر کلائنٹ تھوڑا مختلف ہے؛ براہ کرم کنفگ کے اختیارات پر تفصیلات کے لیے ہمیشہ اس کی سرکاری دستاویزات یا مدد کے صفحے سے رجوع کریں۔ + +جانچ کے مقاصد کے لیے، آپ ٹیسٹ نیٹ نیٹ ورکس میں سے کسی ایک پر کلائنٹ چلانا پسند کرسکتے ہیں۔ [تعاون یافتہ نیٹ ورکس کا جائزہ دیکھیں](/developers/docs/nodes-and-clients/#execution-clients)۔ + +بنیادی ترتیب کے ساتھ ایگزیکیوشن کلائنٹس چلانے کی مثالیں اگلے حصے میں مل سکتی ہیں۔ + +#### ایگزیکیوشن کلائنٹ شروع کرنا {#starting-the-execution-client} + +ایتھریم کلائنٹ سافٹ ویئر شروع کرنے سے پہلے، آخری بار چیک کریں کہ آپ کا ماحول تیار ہے۔ مثال کے طور پر، یقینی بنائیں: + +- منتخب نیٹ ورک اور مطابقت پذیری کے موڈ کو مدنظر رکھتے ہوئے کافی ڈسک کی جگہ موجود ہے۔ +- میموری اور سی پی یو دوسرے پروگراموں سے رکے نہیں ہیں۔ +- آپریٹنگ سسٹم تازہ ترین ورژن پر اپ ڈیٹ ہے۔ +- سسٹم کا وقت اور تاریخ درست ہے۔ +- آپ کا راؤٹر اور فائر وال سننے والے پورٹس پر کنکشن قبول کرتے ہیں۔ پہلے سے طے شدہ طور پر ایتھریم کلائنٹس ایک سننے والے (TCP) پورٹ اور ایک دریافت (UDP) پورٹ کا استعمال کرتے ہیں، دونوں پہلے سے طے شدہ طور پر 30303 پر ہیں۔ + +یہ یقینی بنانے میں مدد کے لیے کہ سب کچھ ٹھیک سے کام کر رہا ہے، اپنے کلائنٹ کو پہلے ٹیسٹ نیٹ پر چلائیں۔ + +آپ کو کسی بھی کلائنٹ کی ترتیبات کا اعلان کرنے کی ضرورت ہے جو شروع میں ڈیفالٹ نہیں ہیں۔ آپ اپنی ترجیحی کنفیگریشن کا اعلان کرنے کے لیے جھنڈوں یا کنفگ فائل کا استعمال کرسکتے ہیں۔ ہر کلائنٹ کی خصوصیات اور کنفگ نحو کا سیٹ مختلف ہوتا ہے۔ تفصیلات کے لیے اپنے کلائنٹ کی دستاویزات دیکھیں۔ + +ایگزیکیوشن اور کنسینسس کلائنٹس [انجن API](https://github.com/ethereum/execution-apis/tree/main/src/engine) میں بیان کردہ ایک مستند اینڈ پوائنٹ کے ذریعے بات چیت کرتے ہیں۔ کنسینسس کلائنٹ سے جڑنے کے لیے، ایگزیکیوشن کلائنٹ کو ایک معلوم راستے پر [`jwtsecret`](https://jwt.io/) بنانا ہوگا۔ سیکیورٹی اور استحکام کی وجوہات کی بنا پر، کلائنٹس کو ایک ہی مشین پر چلنا چاہیے، اور دونوں کلائنٹس کو یہ راستہ معلوم ہونا چاہیے کیونکہ یہ ان کے درمیان مقامی RPC کنکشن کی تصدیق کے لیے استعمال ہوتا ہے۔ ایگزیکیوشن کلائنٹ کو مستند APIs کے لیے ایک سننے والا پورٹ بھی متعین کرنا ہوگا۔ + +یہ ٹوکن کلائنٹ سافٹ ویئر کے ذریعہ خود بخود تیار ہوتا ہے، لیکن کچھ معاملات میں، آپ کو اسے خود کرنے کی ضرورت پڑسکتی ہے۔ آپ اسے [OpenSSL](https://www.openssl.org/) کا استعمال کرتے ہوئے بنا سکتے ہیں: + +```sh +openssl rand -hex 32 > jwtsecret +``` + +#### ایک ایگزیکیوشن کلائنٹ چلانا {#running-an-execution-client} + +یہ سیکشن آپ کو ایگزیکیوشن کلائنٹس شروع کرنے میں رہنمائی کرے گا۔ یہ صرف ایک بنیادی کنفیگریشن کی مثال کے طور پر کام کرتا ہے، جو کلائنٹ کو ان ترتیبات کے ساتھ شروع کرے گا: + +- جڑنے کے لیے نیٹ ورک کی وضاحت کرتا ہے، ہماری مثالوں میں مین نیٹ + - آپ اس کے بجائے اپنے سیٹ اپ کی ابتدائی جانچ کے لیے [ٹیسٹ نیٹس میں سے ایک](/developers/docs/networks/) کا انتخاب کرسکتے ہیں +- ڈیٹا ڈائرکٹری کی وضاحت کرتا ہے، جہاں بلاکچین سمیت تمام ڈیٹا ذخیرہ کیا جائے گا + - راستے کو کسی حقیقی سے بدلنا یقینی بنائیں، مثلاً، آپ کی بیرونی ڈرائیو کی طرف اشارہ کرتے ہوئے +- کلائنٹ کے ساتھ بات چیت کے لیے انٹرفیس کو فعال کرتا ہے + - کنسینسس کلائنٹ کے ساتھ مواصلات کے لیے JSON-RPC اور انجن API سمیت +- مستند API کے لیے `jwtsecret` کا راستہ بیان کرتا ہے + - مثال کے راستے کو کسی حقیقی سے بدلنا یقینی بنائیں جس تک کلائنٹس رسائی حاصل کرسکیں، مثلاً، `/tmp/jwtsecret` + +براہ کرم ذہن میں رکھیں کہ یہ صرف ایک بنیادی مثال ہے، باقی تمام ترتیبات ڈیفالٹ پر سیٹ کی جائیں گی۔ ہر کلائنٹ کی دستاویزات پر توجہ دیں تاکہ ڈیفالٹ اقدار، ترتیبات، اور خصوصیات کے بارے میں جان سکیں۔ مزید خصوصیات کے لیے، مثال کے طور پر ویلیڈیٹرز چلانے، نگرانی وغیرہ کے لیے، براہ کرم مخصوص کلائنٹ کی دستاویزات سے رجوع کریں۔ + +> نوٹ کریں کہ مثالوں میں بیک سلیش `` صرف فارمیٹنگ کے مقاصد کے لیے ہیں؛ کنفگ جھنڈوں کو ایک ہی لائن میں بیان کیا جاسکتا ہے۔ + +##### Besu چلانا + +یہ مثال مین نیٹ پر Besu شروع کرتی ہے، بلاکچین ڈیٹا کو `/data/ethereum` پر ڈیفالٹ فارمیٹ میں ذخیرہ کرتی ہے، کنسینسس کلائنٹ کو جوڑنے کے لیے JSON-RPC اور انجن RPC کو فعال کرتی ہے۔ انجن API ٹوکن `jwtsecret` کے ساتھ مستند ہے اور صرف `localhost` سے کالز کی اجازت ہے۔ + +```sh +besu --network=mainnet \ + --data-path=/data/ethereum \ + --rpc-http-enabled=true \ + --engine-rpc-enabled=true \ + --engine-host-allowlist="*" \ + --engine-jwt-enabled=true \ + --engine-jwt-secret=/path/to/jwtsecret +``` + +Besu ایک لانچر آپشن کے ساتھ بھی آتا ہے جو سوالات کی ایک سیریز پوچھے گا اور کنفگ فائل بنائے گا۔ انٹرایکٹو لانچر چلائیں: + +```sh +besu --Xlauncher +``` + +[Besu کی دستاویزات](https://besu.hyperledger.org/public-networks/get-started/start-node/) اضافی اختیارات اور کنفیگریشن کی تفصیلات پر مشتمل ہیں۔ + +##### Erigon چلانا + +یہ مثال مین نیٹ پر Erigon شروع کرتی ہے، بلاکچین ڈیٹا کو `/data/ethereum` پر ذخیرہ کرتی ہے، JSON-RPC کو فعال کرتی ہے، بیان کرتی ہے کہ کن نیم اسپیسز کی اجازت ہے اور کنسینسس کلائنٹ کو جوڑنے کے لیے تصدیق کو فعال کرتی ہے جس کی تعریف `jwtsecret` راستے سے کی گئی ہے۔ + +```sh +erigon --chain mainnet \ + --datadir /data/ethereum \ + --http --http.api=engine,eth,web3,net \ + --authrpc.jwtsecret=/path/to/jwtsecret +``` + +Erigon ڈیفالٹ کے طور پر 8GB HDD کے ساتھ مکمل مطابقت پذیری کرتا ہے جس کے نتیجے میں 2TB سے زیادہ آرکائیو ڈیٹا ہوگا۔ یقینی بنائیں کہ `datadir` کافی خالی جگہ والی ڈسک کی طرف اشارہ کر رہا ہے یا `--prune` جھنڈے کو دیکھیں جو مختلف قسم کے ڈیٹا کو تراش سکتا ہے۔ مزید جاننے کے لیے Erigon کی `--help` دیکھیں۔ + +##### Geth چلانا + +یہ مثال مین نیٹ پر Geth شروع کرتی ہے، بلاکچین ڈیٹا کو `/data/ethereum` پر ذخیرہ کرتی ہے، JSON-RPC کو فعال کرتی ہے اور بیان کرتی ہے کہ کن نیم اسپیسز کی اجازت ہے۔ یہ کنسینسس کلائنٹ کو جوڑنے کے لیے تصدیق کو بھی فعال کرتا ہے جس کے لیے `jwtsecret` کا راستہ اور یہ بھی آپشن درکار ہے کہ کن کنکشنز کی اجازت ہے، ہماری مثال میں صرف `localhost` سے۔ + +```sh +geth --mainnet \ + --datadir "/data/ethereum" \ + --http --authrpc.addr localhost \ + --authrpc.vhosts="localhost" \ + --authrpc.port 8551 + --authrpc.jwtsecret=/path/to/jwtsecret +``` + +تمام کنفیگریشن آپشنز کے لیے [دستاویزات](https://geth.ethereum.org/docs/fundamentals/command-line-options) دیکھیں اور [کنسینسس کلائنٹ کے ساتھ Geth چلانے](https://geth.ethereum.org/docs/getting-started/consensus-clients) کے بارے میں مزید جانیں۔ + +##### Nethermind چلانا + +Nethermind مختلف [انسٹالیشن کے اختیارات](https://docs.nethermind.io/get-started/installing-nethermind) پیش کرتا ہے۔ پیکیج مختلف بائنریز کے ساتھ آتا ہے، بشمول ایک گائیڈڈ سیٹ اپ والا لانچر، جو آپ کو انٹرایکٹو طور پر کنفیگریشن بنانے میں مدد کرے گا۔ متبادل کے طور پر، آپ کو رنر ملتا ہے جو خود قابل عمل ہے اور آپ اسے صرف کنفگ جھنڈوں کے ساتھ چلا سکتے ہیں۔ JSON-RPC ڈیفالٹ کے طور پر فعال ہے۔ + +```sh +Nethermind.Runner --config mainnet \ + --datadir /data/ethereum \ + --JsonRpc.JwtSecretFile=/path/to/jwtsecret +``` + +Nethermind کی دستاویزات کنسینسس کلائنٹ کے ساتھ Nethermind چلانے پر ایک [مکمل گائیڈ](https://docs.nethermind.io/get-started/running-node/) پیش کرتی ہیں۔ + +ایک ایگزیکیوشن کلائنٹ اپنے بنیادی افعال، منتخب کردہ اینڈ پوائنٹس شروع کرے گا، اور ساتھیوں کی تلاش شروع کردے گا۔ ساتھیوں کو کامیابی سے دریافت کرنے کے بعد، کلائنٹ مطابقت پذیری شروع کردیتا ہے۔ ایگزیکیوشن کلائنٹ کنسینسس کلائنٹ سے کنکشن کا انتظار کرے گا۔ موجودہ بلاکچین ڈیٹا دستیاب ہوگا جب کلائنٹ کامیابی سے موجودہ حالت کے ساتھ مطابقت پذیر ہوجائے گا۔ + +##### Reth چلانا + +یہ مثال مین نیٹ پر Reth شروع کرتی ہے، ڈیفالٹ ڈیٹا لوکیشن کا استعمال کرتے ہوئے۔ کنسینسس کلائنٹ کو جوڑنے کے لیے JSON-RPC اور انجن RPC تصدیق کو فعال کرتا ہے جس کی تعریف `jwtsecret` راستے سے کی گئی ہے، صرف `localhost` سے کالز کی اجازت ہے۔ + +```sh +reth node \ + --authrpc.jwtsecret /path/to/jwtsecret \ + --authrpc.addr 127.0.0.1 \ + --authrpc.port 8551 +``` + +ڈیفالٹ ڈیٹا ڈائرکٹریز کے بارے میں مزید جاننے کے لیے [Reth کی کنفیگریشن](https://reth.rs/run/config.html?highlight=data%20directory#configuring-reth) دیکھیں۔ [Reth کی دستاویزات](https://reth.rs/run/mainnet.html) اضافی اختیارات اور کنفیگریشن کی تفصیلات پر مشتمل ہیں۔ + +#### کنسینسس کلائنٹ شروع کرنا {#starting-the-consensus-client} + +کنسینسس کلائنٹ کو ایگزیکیوشن کلائنٹ سے مقامی RPC کنکشن قائم کرنے کے لیے صحیح پورٹ کنفیگریشن کے ساتھ شروع کیا جانا چاہئے۔ کنسینسس کلائنٹس کو بے نقاب ایگزیکیوشن کلائنٹ پورٹ کے ساتھ کنفیگریشن دلیل کے طور پر چلانا ہوگا۔ + +کنسینسس کلائنٹ کو ان کے درمیان RPC کنکشن کی تصدیق کے لیے ایگزیکیوشن کلائنٹ کے `jwt-secret` کے راستے کی بھی ضرورت ہوتی ہے۔ اوپر دی گئی ایگزیکیوشن مثالوں کی طرح، ہر کنسینسس کلائنٹ کا ایک کنفیگریشن جھنڈا ہوتا ہے جو jwt ٹوکن فائل کا راستہ دلیل کے طور پر لیتا ہے۔ یہ ایگزیکیوشن کلائنٹ کو فراہم کردہ `jwtsecret` راستے کے مطابق ہونا چاہئے۔ + +اگر آپ ویلیڈیٹر چلانے کا ارادہ رکھتے ہیں، تو یقینی بنائیں کہ فیس وصول کنندہ کے ایتھریم پتے کی وضاحت کرنے والا کنفیگریشن جھنڈا شامل کریں۔ یہ وہ جگہ ہے جہاں آپ کے ویلیڈیٹر کے لیے ایتھر انعامات جمع ہوتے ہیں۔ ہر کنسینسس کلائنٹ کا ایک آپشن ہوتا ہے، مثلاً، `--suggested-fee-recipient=0xabcd1`، جو دلیل کے طور پر ایک ایتھریم پتہ لیتا ہے۔ + +ٹیسٹ نیٹ پر بیکن نوڈ شروع کرتے وقت، آپ [چیک پوائنٹ سنک](https://notes.ethereum.org/@launchpad/checkpoint-sync) کے لیے عوامی اینڈ پوائنٹ کا استعمال کرکے مطابقت پذیری کے وقت میں نمایاں بچت کرسکتے ہیں۔ + +#### ایک کنسینسس کلائنٹ چلانا {#running-a-consensus-client} + +##### Lighthouse چلانا + +Lighthouse چلانے سے پہلے، [Lighthouse Book](https://lighthouse-book.sigmaprime.io/installation.html) میں اسے انسٹال اور کنفیگر کرنے کے بارے میں مزید جانیں۔ + +```sh +lighthouse beacon_node \ + --network mainnet \ + --datadir /data/ethereum \ + --http \ + --execution-endpoint http://127.0.0.1:8551 \ + --execution-jwt /path/to/jwtsecret +``` + +##### Lodestar چلانا + +Lodestar سافٹ ویئر کو مرتب کرکے یا Docker امیج ڈاؤن لوڈ کرکے انسٹال کریں۔ [دستاویزات](https://chainsafe.github.io/lodestar/) اور مزید جامع [سیٹ اپ گائیڈ](https://hackmd.io/@philknows/rk5cDvKmK) میں مزید جانیں۔ + +```sh +lodestar beacon \ + --dataDir="/data/ethereum" \ + --network=mainnet \ + --eth1.enabled=true \ + --execution.urls="http://127.0.0.1:8551" \ + --jwt-secret="/path/to/jwtsecret" +``` + +##### Nimbus چلانا + +Nimbus کنسینسس اور ایگزیکیوشن دونوں کلائنٹس کے ساتھ آتا ہے۔ اسے مختلف آلات پر بھی چلایا جاسکتا ہے یہاں تک کہ بہت معمولی کمپیوٹنگ پاور کے ساتھ بھی۔ +[انحصار اور Nimbus خود انسٹال کرنے](https://nimbus.guide/quick-start.html) کے بعد، آپ اس کا کنسینسس کلائنٹ چلا سکتے ہیں: + +```sh +nimbus_beacon_node \ + --network=mainnet \ + --web3-url=http://127.0.0.1:8551 \ + --rest \ + --jwt-secret="/path/to/jwtsecret" +``` + +##### Prysm چلانا + +Prysm ایک اسکرپٹ کے ساتھ آتا ہے جو آسان خودکار انسٹالیشن کی اجازت دیتا ہے۔ تفصیلات [Prysm کی دستاویزات](https://prysm.offchainlabs.com/docs/install-prysm/install-with-script/) میں مل سکتی ہیں۔ + +```sh +./prysm.sh beacon-chain \ + --mainnet \ + --datadir /data/ethereum \ + --execution-endpoint=http://localhost:8551 \ + --jwt-secret=/path/to/jwtsecret +``` + +##### Teku چلانا + +```sh +teku --network mainnet \ + --data-path "/data/ethereum" \ + --ee-endpoint http://localhost:8551 \ + --ee-jwt-secret-file "/path/to/jwtsecret" +``` + +جب ایک کنسینسس کلائنٹ ڈیپازٹ کنٹریکٹ کو پڑھنے اور ویلیڈیٹرز کی شناخت کے لیے ایگزیکیوشن کلائنٹ سے جڑتا ہے، تو یہ دوسرے بیکن نوڈ ساتھیوں سے بھی جڑتا ہے اور جینیسس سے کنسینسس سلاٹس کی مطابقت پذیری شروع کردیتا ہے۔ ایک بار جب بیکن نوڈ موجودہ عہد تک پہنچ جاتا ہے، تو بیکن API آپ کے ویلیڈیٹرز کے لیے قابل استعمال ہوجاتا ہے۔ [بیکن نوڈ APIs](https://eth2docs.vercel.app/) کے بارے میں مزید جانیں۔ + +### ویلیڈیٹرز شامل کرنا {#adding-validators} + +ایک کنسینسس کلائنٹ ویلیڈیٹرز کے جڑنے کے لیے بیکن نوڈ کے طور پر کام کرتا ہے۔ ہر کنسینسس کلائنٹ کا اپنا ویلیڈیٹر سافٹ ویئر ہوتا ہے جس کی تفصیل اس کی متعلقہ دستاویزات میں دی گئی ہے۔ + +اپنا ویلیڈیٹر چلانے سے [سولو اسٹیکنگ](/staking/solo/) کی اجازت ملتی ہے، جو ایتھریم نیٹ ورک کو سپورٹ کرنے کا سب سے زیادہ بااثر اور ٹرس ٹلیس طریقہ ہے۔ تاہم، اس کے لیے 32 ETH کی جمع رقم درکار ہے۔ کم رقم کے ساتھ اپنے نوڈ پر ویلیڈیٹر چلانے کے لیے، ایک غیر مرکزی پول جس میں اجازت کے بغیر نوڈ آپریٹرز ہوں، جیسے کہ [Rocket Pool](https://rocketpool.net/node-operators)، آپ کو دلچسپی دے سکتا ہے۔ + +اسٹیکنگ اور ویلیڈیٹر کلیدی جنریشن کے ساتھ شروع کرنے کا سب سے آسان طریقہ [Hoodi Testnet Staking Launchpad](https://hoodi.launchpad.ethereum.org/) کا استعمال ہے، جو آپ کو [Hoodi پر نوڈس چلا کر](https://notes.ethereum.org/@launchpad/hoodi) اپنے سیٹ اپ کی جانچ کرنے کی اجازت دیتا ہے۔ جب آپ مین نیٹ کے لیے تیار ہوں، تو آپ [مین نیٹ اسٹیکنگ لانچ پیڈ](https://launchpad.ethereum.org/) کا استعمال کرتے ہوئے ان اقدامات کو دہرا سکتے ہیں۔ + +اسٹیکنگ کے اختیارات کے بارے میں ایک جائزہ کے لیے [اسٹیکنگ پیج](/staking) دیکھیں۔ + +### نوڈ کا استعمال {#using-the-node} + +ایگزیکیوشن کلائنٹس [RPC API اینڈ پوائنٹس](/developers/docs/apis/json-rpc/) پیش کرتے ہیں جنہیں آپ لین دین جمع کروانے، ایتھریم نیٹ ورک پر اسمارٹ معاہدوں کے ساتھ بات چیت کرنے یا ان کو تعینات کرنے کے لیے مختلف طریقوں سے استعمال کرسکتے ہیں: + +- ایک مناسب پروٹوکول کے ساتھ انہیں دستی طور پر کال کرنا (مثلاً، `curl` کا استعمال کرتے ہوئے) +- فراہم کردہ کنسول کو منسلک کرنا (مثلاً، `geth attach`) +- ویب 3 لائبریریوں کا استعمال کرتے ہوئے انہیں ایپلی کیشنز میں نافذ کرنا، مثلاً، [web3.py](https://web3py.readthedocs.io/en/stable/overview.html#overview)، [ethers](https://github.com/ethers-io/ethers.js/) + +مختلف کلائنٹس کے پاس RPC اینڈ پوائنٹس کے مختلف نفاذ ہوتے ہیں۔ لیکن ایک معیاری JSON-RPC ہے جسے آپ ہر کلائنٹ کے ساتھ استعمال کرسکتے ہیں۔ ایک جائزہ کے لیے [JSON-RPC دستاویزات](/developers/docs/apis/json-rpc/) پڑھیں۔ وہ ایپلی کیشنز جنہیں ایتھریم نیٹ ورک سے معلومات کی ضرورت ہوتی ہے وہ اس RPC کا استعمال کرسکتی ہیں۔ مثال کے طور پر، مقبول والیٹ MetaMask آپ کو [اپنے RPC اینڈ پوائنٹ سے جڑنے](https://metamask.zendesk.com/hc/en-us/articles/360015290012-Using-a-Local-Node) کی اجازت دیتا ہے جس کے مضبوط رازداری اور سیکیورٹی فوائد ہیں۔ + +کنسینسس کلائنٹس سبھی ایک [بیکن API](https://ethereum.github.io/beacon-APIs) کو بے نقاب کرتے ہیں جسے کنسینسس کلائنٹ کی حیثیت کی جانچ کرنے یا بلاکس اور کنسینسس ڈیٹا کو ڈاؤن لوڈ کرنے کے لیے [Curl](https://curl.se) جیسے ٹولز کا استعمال کرتے ہوئے درخواستیں بھیج کر استعمال کیا جاسکتا ہے۔ اس بارے میں مزید معلومات ہر کنسینسس کلائنٹ کی دستاویزات میں مل سکتی ہیں۔ + +#### RPC تک پہنچنا {#reaching-rpc} + +ایگزیکیوشن کلائنٹ JSON-RPC کے لیے ڈیفالٹ پورٹ `8545` ہے لیکن آپ کنفیگریشن میں مقامی اینڈ پوائنٹس کے پورٹس کو تبدیل کرسکتے ہیں۔ پہلے سے طے شدہ طور پر، RPC انٹرفیس صرف آپ کے کمپیوٹر کے لوکل ہوسٹ پر قابل رسائی ہے۔ اسے دور سے قابل رسائی بنانے کے لیے، آپ اسے پتے کو `0.0.0.0` میں تبدیل کرکے عوام کے لیے بے نقاب کرنا چاہیں گے۔ یہ اسے مقامی نیٹ ورک اور عوامی IP پتوں پر قابل رسائی بنا دے گا۔ زیادہ تر معاملات میں آپ کو اپنے راؤٹر پر پورٹ فارورڈنگ ترتیب دینے کی بھی ضرورت ہوگی۔ + +انٹرنیٹ پر پورٹس کو بے نقاب کرنے کے نقطہ نظر سے احتیاط برتیں کیونکہ یہ انٹرنیٹ پر کسی کو بھی آپ کے نوڈ کو کنٹرول کرنے دے گا۔ بدنیتی پر مبنی اداکار آپ کے سسٹم کو نیچے لانے یا آپ کے فنڈز چوری کرنے کے لیے آپ کے نوڈ تک رسائی حاصل کرسکتے ہیں اگر آپ اپنے کلائنٹ کو والیٹ کے طور پر استعمال کر رہے ہیں۔ + +اس سے بچنے کا ایک طریقہ یہ ہے کہ ممکنہ طور پر نقصان دہ RPC طریقوں کو قابل ترمیم ہونے سے روکا جائے۔ مثال کے طور پر، Geth کے ساتھ، آپ جھنڈے کے ساتھ قابل ترمیم طریقوں کا اعلان کرسکتے ہیں: `--http.api web3,eth,txpool`۔ + +RPC انٹرفیس تک رسائی کو ایج لیئر APIs یا ویب سرور ایپلی کیشنز، جیسے Nginx، کی ترقی کے ذریعے بڑھایا جاسکتا ہے، اور انہیں آپ کے کلائنٹ کے مقامی پتے اور پورٹ سے جوڑ کر۔ ایک درمیانی پرت کا فائدہ اٹھانا ڈویلپرز کو RPC انٹرفیس سے محفوظ `https` کنکشن کے لیے سرٹیفکیٹ ترتیب دینے کی صلاحیت بھی دے سکتا ہے۔ + +ایک ویب سرور، ایک پراکسی، یا بیرونی سامنا کرنے والی Rest API کو ترتیب دینا آپ کے نوڈ کے RPC اینڈ پوائنٹ تک رسائی فراہم کرنے کا واحد طریقہ نہیں ہے۔ عوامی طور پر قابل رسائی اینڈ پوائنٹ ترتیب دینے کا ایک اور رازداری کو محفوظ رکھنے والا طریقہ یہ ہے کہ نوڈ کو اپنی [Tor](https://www.torproject.org/) پیاز سروس پر میزبانی کی جائے۔ یہ آپ کو اپنے مقامی نیٹ ورک سے باہر RPC تک پہنچنے دے گا بغیر جامد عوامی IP پتے یا کھلے پورٹس کے۔ تاہم، اس کنفیگریشن کا استعمال صرف RPC اینڈ پوائنٹ کو Tor نیٹ ورک کے ذریعے قابل رسائی بنا سکتا ہے جو تمام ایپلی کیشنز کے ذریعہ تعاون یافتہ نہیں ہے اور اس کے نتیجے میں کنکشن کے مسائل پیدا ہوسکتے ہیں۔ + +ایسا کرنے کے لیے، آپ کو اپنی [پیاز سروس](https://community.torproject.org/onion-services/) بنانی ہوگی۔ اپنی میزبانی کے لیے پیاز سروس سیٹ اپ پر [دستاویزات](https://community.torproject.org/onion-services/setup/) دیکھیں۔ آپ اسے RPC پورٹ پر پراکسی کے ساتھ ویب سرور کی طرف اشارہ کرسکتے ہیں یا صرف براہ راست RPC کی طرف۔ + +آخر میں، اور اندرونی نیٹ ورکس تک رسائی فراہم کرنے کے سب سے مشہور طریقوں میں سے ایک VPN کنکشن کے ذریعے ہے۔ آپ کے استعمال کے کیس اور آپ کے نوڈ تک رسائی کی ضرورت والے صارفین کی تعداد پر منحصر ہے، ایک محفوظ VPN کنکشن ایک آپشن ہوسکتا ہے۔ [OpenVPN](https://openvpn.net/) ایک مکمل خصوصیات والا SSL VPN ہے جو صنعت کے معیاری SSL/TLS پروٹوکول کا استعمال کرتے ہوئے OSI پرت 2 یا 3 محفوظ نیٹ ورک توسیع کو نافذ کرتا ہے، سرٹیفکیٹس، اسمارٹ کارڈز، اور/یا صارف نام/پاس ورڈ کی اسناد پر مبنی لچکدار کلائنٹ کی تصدیق کے طریقوں کی حمایت کرتا ہے، اور VPN ورچوئل انٹرفیس پر لاگو فائر وال قوانین کا استعمال کرتے ہوئے صارف یا گروپ مخصوص رسائی کنٹرول پالیسیوں کی اجازت دیتا ہے۔ + +### نوڈ کو چلانا {#operating-the-node} + +آپ کو اپنے نوڈ کی باقاعدگی سے نگرانی کرنی چاہئے تاکہ یہ یقینی بنایا جاسکے کہ یہ ٹھیک سے چل رہا ہے۔ آپ کو کبھی کبھار دیکھ بھال کرنے کی ضرورت پڑسکتی ہے۔ + +#### ایک نوڈ کو آن لائن رکھنا {#keeping-node-online} + +آپ کے نوڈ کو ہر وقت آن لائن رہنے کی ضرورت نہیں ہے، لیکن آپ کو اسے نیٹ ورک کے ساتھ مطابقت پذیر رکھنے کے لیے جتنا ممکن ہو سکے آن لائن رکھنا چاہئے۔ آپ اسے دوبارہ شروع کرنے کے لیے بند کرسکتے ہیں، لیکن ذہن میں رکھیں کہ: + +- اگر حالیہ حالت ابھی بھی ڈسک پر لکھی جارہی ہے تو بند ہونے میں چند منٹ لگ سکتے ہیں۔ +- زبردستی بند کرنے سے ڈیٹا بیس کو نقصان پہنچ سکتا ہے جس کے لیے آپ کو پورے نوڈ کو دوبارہ مطابقت پذیر کرنے کی ضرورت پڑسکتی ہے۔ +- آپ کا کلائنٹ نیٹ ورک سے مطابقت پذیر نہیں رہے گا اور جب آپ اسے دوبارہ شروع کریں گے تو اسے دوبارہ مطابقت پذیر کرنے کی ضرورت ہوگی۔ جبکہ نوڈ جہاں سے آخری بار بند ہوا تھا وہاں سے مطابقت پذیری شروع کرسکتا ہے، اس عمل میں وقت لگ سکتا ہے اس پر منحصر ہے کہ یہ کتنی دیر تک آف لائن رہا ہے۔ + +_یہ کنسینسس لیئر ویلیڈیٹر نوڈس پر لاگو نہیں ہوتا ہے۔_ اپنے نوڈ کو آف لائن لے جانے سے اس پر منحصر تمام خدمات متاثر ہوں گی۔ اگر آپ _اسٹیکنگ_ کے مقاصد کے لیے نوڈ چلا رہے ہیں تو آپ کو ڈاؤن ٹائم کو جتنا ممکن ہو سکے کم کرنے کی کوشش کرنی چاہئے۔ + +#### کلائنٹ خدمات بنانا {#creating-client-services} + +اسٹارٹ اپ پر اپنے کلائنٹس کو خود بخود چلانے کے لیے ایک سروس بنانے پر غور کریں۔ مثال کے طور پر، لینکس سرورز پر، ایک اچھی مشق ایک سروس بنانا ہوگی، مثلاً، `systemd` کے ساتھ، جو کلائنٹ کو مناسب کنفگ کے ساتھ، محدود مراعات والے صارف کے تحت چلاتی ہے اور خود بخود دوبارہ شروع ہوجاتی ہے۔ + +#### کلائنٹس کو اپ ڈیٹ کرنا {#updating-clients} + +آپ کو اپنے کلائنٹ سافٹ ویئر کو تازہ ترین سیکیورٹی پیچ، خصوصیات، اور [EIPs](/eips/) کے ساتھ تازہ ترین رکھنے کی ضرورت ہے۔ خاص طور پر [ہارڈ فورکس](/ethereum-forks/) سے پہلے، یقینی بنائیں کہ آپ صحیح کلائنٹ ورژن چلا رہے ہیں۔ + +> اہم نیٹ ورک اپ ڈیٹس سے پہلے، EF اپنے [بلاگ](https://blog.ethereum.org) پر ایک پوسٹ شائع کرتا ہے۔ آپ [ان اعلانات کو سبسکرائب کرسکتے ہیں](https://blog.ethereum.org/category/protocol#subscribe) تاکہ جب آپ کے نوڈ کو اپ ڈیٹ کی ضرورت ہو تو آپ کے میل پر ایک اطلاع مل سکے۔ + +کلائنٹس کو اپ ڈیٹ کرنا بہت آسان ہے۔ ہر کلائنٹ کی اپنی دستاویزات میں مخصوص ہدایات ہوتی ہیں، لیکن عمل عام طور پر صرف تازہ ترین ورژن ڈاؤن لوڈ کرنا اور نئے قابل عمل کے ساتھ کلائنٹ کو دوبارہ شروع کرنا ہوتا ہے۔ کلائنٹ کو وہاں سے اٹھانا چاہئے جہاں سے اس نے چھوڑا تھا، لیکن اپ ڈیٹس لاگو ہونے کے ساتھ۔ + +ہر کلائنٹ کے نفاذ میں ایک انسانی پڑھنے کے قابل ورژن سٹرنگ ہوتا ہے جو پیئر ٹو پیئر پروٹوکول میں استعمال ہوتا ہے لیکن یہ کمانڈ لائن سے بھی قابل رسائی ہے۔ یہ ورژن سٹرنگ صارفین کو یہ جانچنے کی اجازت دیتا ہے کہ وہ صحیح ورژن چلا رہے ہیں اور بلاک ایکسپلوررز اور دیگر تجزیاتی ٹولز کو نیٹ ورک پر مخصوص کلائنٹس کی تقسیم کی مقدار کا تعین کرنے میں دلچسپی رکھنے کی اجازت دیتا ہے۔ ورژن سٹرنگ کے بارے میں مزید معلومات کے لیے براہ کرم انفرادی کلائنٹ کی دستاویزات سے رجوع کریں۔ + +#### اضافی خدمات چلانا {#running-additional-services} + +اپنا نوڈ چلانے سے آپ کو ایسی خدمات استعمال کرنے کی اجازت ملتی ہے جن کے لیے ایتھریم کلائنٹ RPC تک براہ راست رسائی کی ضرورت ہوتی ہے۔ یہ وہ خدمات ہیں جو ایتھریم کے اوپر بنائی گئی ہیں جیسے [لیئر 2 حل](/developers/docs/scaling/#layer-2-scaling)، والیٹس کے لیے بیک اینڈ، بلاک ایکسپلوررز، ڈویلپر ٹولز اور دیگر ایتھریم انفراسٹرکچر۔ + +#### نوڈ کی نگرانی کرنا {#monitoring-the-node} + +اپنے نوڈ کی مناسب نگرانی کے لیے، میٹرکس جمع کرنے پر غور کریں۔ کلائنٹس میٹرکس اینڈ پوائنٹس فراہم کرتے ہیں تاکہ آپ اپنے نوڈ کے بارے میں جامع ڈیٹا حاصل کرسکیں۔ [InfluxDB](https://www.influxdata.com/get-influxdb/) یا [Prometheus](https://prometheus.io/) جیسے ٹولز کا استعمال کریں تاکہ ڈیٹا بیس بنائے جاسکیں جنہیں آپ [Grafana](https://grafana.com/) جیسے سافٹ ویئر میں ویژولائزیشنز اور چارٹس میں تبدیل کرسکتے ہیں۔ اس سافٹ ویئر کو استعمال کرنے کے لیے بہت سے سیٹ اپ اور مختلف Grafana ڈیش بورڈز ہیں تاکہ آپ اپنے نوڈ اور پورے نیٹ ورک کو دیکھ سکیں۔ مثال کے طور پر، [InfluxDB اور Grafana کے ساتھ Geth کی نگرانی پر ٹیوٹوریل](/developers/tutorials/monitoring-geth-with-influxdb-and-grafana/) دیکھیں۔ + +اپنی نگرانی کے حصے کے طور پر، اپنی مشین کی کارکردگی پر نظر رکھنا یقینی بنائیں۔ آپ کے نوڈ کی ابتدائی مطابقت پذیری کے دوران، کلائنٹ سافٹ ویئر سی پی یو اور ریم پر بہت بھاری ہوسکتا ہے۔ Grafana کے علاوہ، آپ اپنے OS کے پیش کردہ ٹولز جیسے `htop` یا `uptime` کا استعمال کرسکتے ہیں۔ + +## مزید پڑھیں {#further-reading} + +- [ایتھریم اسٹیکنگ گائیڈز](https://github.com/SomerEsat/ethereum-staking-guides) - _سومر ایسات، اکثر اپ ڈیٹ ہوتا ہے_ +- [گائیڈ | مین نیٹ پر ایتھریم اسٹیکنگ کے لیے ویلیڈیٹر کیسے سیٹ اپ کریں](https://www.coincashew.com/coins/overview-eth/guide-or-how-to-setup-a-validator-on-eth2-mainnet) _– CoinCashew، اکثر اپ ڈیٹ ہوتا ہے_ +- [ٹیسٹ نیٹس پر ویلیڈیٹرز چلانے پر ETHStaker گائیڈز](https://github.com/remyroy/ethstaker#guides) – _ETHStaker، باقاعدگی سے اپ ڈیٹ ہوتا ہے_ +- [ایتھریم نوڈس کے لیے نمونہ AWS بلاکچین نوڈ رنر ایپ](https://aws-samples.github.io/aws-blockchain-node-runners/docs/Blueprints/Ethereum) - _AWS، اکثر اپ ڈیٹ ہوتا ہے_ +- [نوڈ آپریٹرز کے لیے The Merge FAQ](https://notes.ethereum.org/@launchpad/node-faq-merge) - _جولائی 2022_ +- [ایتھریم مکمل توثیق شدہ نوڈ بننے کے لیے ہارڈویئر کی ضروریات کا تجزیہ کرنا](https://medium.com/coinmonks/analyzing-the-hardware-requirements-to-be-an-ethereum-full-validated-node-dc064f167902) _– البرٹ پلاؤ، 24 ستمبر 2018_ +- [ایتھیریم فل نوڈز چلانا: بمشکل حوصلہ افزائی کے لیے ایک گائیڈ](https://medium.com/@JustinMLeroux/running-ethereum-full-nodes-a-guide-for-the-barely-motivated-a8a13e7a0d31) _– جسٹن لیروکس، 7 نومبر 2019_ +- [ایتھریم مین نیٹ پر ہائپرلیجر بیسو نوڈ کو تعینات کرنا: فوائد، ضروریات، اور سیٹ اپ](https://pegasys.tech/running-a-hyperledger-besu-node-on-the-ethereum-mainnet-benefits-requirements-and-setup/) _– فیلیپ فاراگی، 7 مئی 2020_ +- [مانیٹرنگ اسٹیک کے ساتھ نیتھرمائنڈ ایتھریم کلائنٹ کو تعینات کرنا](https://medium.com/nethermind-eth/deploying-nethermind-ethereum-client-with-monitoring-stack-55ce1622edbd) _– Nethermind.eth، 8 جولائی 2020_ + +## متعلقہ موضوعات {#related-topics} + +- [نوڈز اور کلائنٹس](/developers/docs/nodes-and-clients/) +- [بلاکس](/developers/docs/blocks/) +- [نیٹ ورکس](/developers/docs/networks/) diff --git a/public/content/translations/ur/developers/docs/oracles/index.md b/public/content/translations/ur/developers/docs/oracles/index.md new file mode 100644 index 00000000000..60048a871c4 --- /dev/null +++ b/public/content/translations/ur/developers/docs/oracles/index.md @@ -0,0 +1,433 @@ +--- +title: "اوریکلز" +description: "اوریکلز Ethereum اسمارٹ کنٹریکٹس کو حقیقی دنیا کے ڈیٹا تک رسائی فراہم کرتے ہیں، جو صارفین کے لیے مزید استعمال کے معاملات اور زیادہ قدر کو کھولتے ہیں۔" +lang: ur-in +--- + +اوریکلز ایسی ایپلی کیشنز ہیں جو ڈیٹا فیڈز تیار کرتی ہیں جو آف چین ڈیٹا کے ذرائع کو اسمارٹ کنٹریکٹس کے لیے بلاک چین پر دستیاب کرتی ہیں۔ یہ ضروری ہے کیونکہ Ethereum پر مبنی اسمارٹ کنٹریکٹس، پہلے سے طے شدہ طور پر، بلاک چین نیٹ ورک کے باہر ذخیرہ شدہ معلومات تک رسائی حاصل نہیں کر سکتے ہیں۔ + +آف چین ڈیٹا کا استعمال کرتے ہوئے اسمارٹ کنٹریکٹس کو عمل درآمد کرنے کی صلاحیت دینا غیر مرکزی ایپلی کیشنز کی افادیت اور قدر کو بڑھاتا ہے۔ مثال کے طور پر، آن چین پیشین گوئی بازار نتائج کے بارے میں معلومات فراہم کرنے کے لیے اوریکلز پر انحصار کرتے ہیں جو وہ صارف کی پیشین گوئیوں کی توثیق کرنے کے لیے استعمال کرتے ہیں۔ فرض کریں کہ ایلس 20 ETH کی شرط لگاتی ہے کہ اگلا امریکی کون بنے گا۔ صدر۔ اس صورت میں، پیشین گوئی-بازار ڈیپ کو انتخابی نتائج کی تصدیق کرنے اور یہ تعین کرنے کے لیے ایک اوریکل کی ضرورت ہے کہ آیا ایلس ادائیگی کے لیے اہل ہے یا نہیں۔ + +## شرائط {#prerequisites} + +یہ صفحہ فرض کرتا ہے کہ قاری Ethereum کی بنیادی باتوں سے واقف ہے، بشمول [nodes](/developers/docs/nodes-and-clients/)، [consensus mechanisms](/developers/docs/consensus-mechanisms/)، اور [EVM](/developers/docs/evm/)۔ آپ کو [smart contracts](/developers/docs/smart-contracts/) اور [smart contract anatomy](/developers/docs/smart-contracts/anatomy/)، خاص طور پر [events](/glossary/#events) کی بھی اچھی سمجھ ہونی چاہیے۔ + +## بلاک چین اوریکل کیا ہے؟ {#what-is-a-blockchain-oracle} + +اوریکلز ایسی ایپلی کیشنز ہیں جو بیرونی معلومات (یعنی، آف چین ذخیرہ شدہ معلومات) کو حاصل کرتی، تصدیق کرتی اور بلاک چین پر چلنے والے اسمارٹ کنٹریکٹس تک منتقل کرتی ہیں۔ آف چین ڈیٹا کو "پل" کرنے اور اسے Ethereum پر نشر کرنے کے علاوہ، اوریکلز بلاک چین سے معلومات کو بیرونی نظاموں میں "پش" بھی کر سکتے ہیں، مثلاً، صارف کے Ethereum ٹرانزیکشن کے ذریعے فیس بھیجنے کے بعد اسمارٹ لاک کو کھولنا۔ + +ایک اوریکل کے بغیر، ایک اسمارٹ کنٹریکٹ مکمل طور پر آن چین ڈیٹا تک محدود ہوگا۔ + +اوریکلز ڈیٹا کے ماخذ (ایک یا ایک سے زیادہ ذرائع)، اعتماد کے ماڈلز (مرکزی یا غیر مرکزی)، اور سسٹم آرکیٹیکچر (فوری-پڑھنا، شائع-سبسکرائب، اور درخواست-جواب) کی بنیاد پر مختلف ہوتے ہیں۔ ہم اوریکلز کے درمیان اس بنیاد پر بھی فرق کر سکتے ہیں کہ آیا وہ آن چین کنٹریکٹس کے استعمال کے لیے بیرونی ڈیٹا حاصل کرتے ہیں (ان پٹ اوریکلز)، بلاک چین سے آف چین ایپلی کیشنز کو معلومات بھیجتے ہیں (آؤٹ پٹ اوریکلز)، یا آف چین کمپیوٹیشنل کام انجام دیتے ہیں (کمپیوٹیشنل اوریکلز)۔ + +## اسمارٹ کنٹریکٹس کو اوریکلز کی ضرورت کیوں ہے؟ {#why-do-smart-contracts-need-oracles} + +بہت سے ڈیولپرز اسمارٹ کنٹریکٹس کو ایسے کوڈ کے طور پر دیکھتے ہیں جو بلاک چین پر مخصوص پتوں پر چل رہا ہے۔ تاہم، [اسمارٹ کنٹریکٹس کا ایک زیادہ عمومی نظریہ](/smart-contracts/) یہ ہے کہ وہ خود کار طریقے سے عمل درآمد کرنے والے سافٹ ویئر پروگرام ہیں جو مخصوص شرائط پوری ہونے پر فریقین کے درمیان معاہدوں کو نافذ کرنے کی صلاحیت رکھتے ہیں - اسی لیے یہ اصطلاح "اسمارٹ کنٹریکٹس" ہے۔ + +لیکن لوگوں کے درمیان معاہدوں کو نافذ کرنے کے لیے اسمارٹ کنٹریکٹس کا استعمال سیدھا سادہ نہیں ہے، اس بات کو دیکھتے ہوئے کہ Ethereum حتمی ہے۔ ایک [حتمی نظام](https://en.wikipedia.org/wiki/Deterministic_algorithm) وہ ہے جو ایک ابتدائی حالت اور ایک مخصوص ان پٹ دیے جانے پر ہمیشہ ایک ہی جیسے نتائج دیتا ہے، جس کا مطلب ہے کہ ان پٹ سے آؤٹ پٹ کا حساب لگانے کے عمل میں کوئی بے ترتیب پن یا تغیر نہیں ہوتا ہے۔ + +حتمی عمل درآمد حاصل کرنے کے لیے، بلاک چینز نوڈس کو _صرف_ بلاک چین پر ہی ذخیرہ شدہ ڈیٹا کا استعمال کرتے ہوئے سادہ بائنری (صحیح/غلط) سوالات پر اتفاق رائے تک پہنچنے تک محدود کرتی ہیں۔ اس طرح کے سوالات کی مثالیں شامل ہیں: + +- "کیا اکاؤنٹ کے مالک (جس کی شناخت ایک پبلک کی سے ہوتی ہے) نے اس ٹرانزیکشن پر جوڑی والی پرائیویٹ کی کے ساتھ دستخط کیا ہے؟" +- "کیا اس اکاؤنٹ میں ٹرانزیکشن کو پورا کرنے کے لیے کافی فنڈز ہیں؟" +- "کیا یہ ٹرانزیکشن اس اسمارٹ کنٹریکٹ کے تناظر میں درست ہے؟"، وغیرہ۔ + +اگر بلاک چینز بیرونی ذرائع (یعنی حقیقی دنیا) سے معلومات حاصل کرتیں، تو حتمیت کو حاصل کرنا ناممکن ہو جاتا، جس سے نوڈس کو بلاک چین کی حالت میں تبدیلیوں کی درستی پر متفق ہونے سے روکا جاتا۔ مثال کے طور پر ایک ایسا اسمارٹ کنٹریکٹ لیں جو ایک روایتی قیمت API سے حاصل کردہ موجودہ ETH-USD ایکسچینج ریٹ کی بنیاد پر ایک ٹرانزیکشن کو عمل میں لاتا ہے۔ اس عدد کے اکثر تبدیل ہونے کا امکان ہے (یہ ذکر نہ کرنا کہ API کو متروک یا ہیک کیا جا سکتا ہے)، جس کا مطلب ہے کہ ایک ہی کنٹریکٹ کوڈ پر عمل درآمد کرنے والے نوڈس مختلف نتائج پر پہنچیں گے۔ + +Ethereum جیسے پبلک بلاک چین کے لیے، جس میں دنیا بھر میں ہزاروں نوڈس ٹرانزیکشنز پر کارروائی کر رہے ہیں، حتمیت بہت اہم ہے۔ سچائی کے منبع کے طور پر کام کرنے والی کوئی مرکزی اتھارٹی نہ ہونے کی وجہ سے، نوڈس کو ایک ہی ٹرانزیکشنز کو لاگو کرنے کے بعد ایک ہی حالت پر پہنچنے کے لیے میکانزم کی ضرورت ہوتی ہے۔ ایک ایسا معاملہ جس میں نوڈ A ایک اسمارٹ کنٹریکٹ کے کوڈ پر عمل درآمد کرتا ہے اور نتیجے کے طور پر "3" حاصل کرتا ہے، جبکہ نوڈ B اسی ٹرانزیکشن کو چلانے کے بعد "7" حاصل کرتا ہے، اتفاق رائے کو توڑنے کا سبب بنے گا اور Ethereum کی قدر کو ایک غیر مرکزی کمپیوٹنگ پلیٹ فارم کے طور پر ختم کر دے گا۔ + +یہ منظر نامہ بیرونی ذرائع سے معلومات حاصل کرنے کے لیے بلاک چینز کو ڈیزائن کرنے کے مسئلے کو بھی اجاگر کرتا ہے۔ تاہم، اوریکلز اس مسئلے کو آف چین ذرائع سے معلومات لے کر اور اسے بلاک چین پر اسمارٹ کنٹریکٹس کے استعمال کے لیے ذخیرہ کر کے حل کرتے ہیں۔ چونکہ آن چین ذخیرہ شدہ معلومات ناقابل تغیر اور عوامی طور پر دستیاب ہیں، Ethereum نوڈس اوریکل سے درآمد کردہ آف چین ڈیٹا کو اتفاق رائے کو توڑے بغیر حالت کی تبدیلیوں کا حساب لگانے کے لیے محفوظ طریقے سے استعمال کر سکتے ہیں۔ + +ایسا کرنے کے لیے، ایک اوریکل عام طور پر ایک اسمارٹ کنٹریکٹ جو آن چین چل رہا ہے اور کچھ آف چین اجزاء پر مشتمل ہوتا ہے۔ آن چین کنٹریکٹ دوسرے اسمارٹ کنٹریکٹس سے ڈیٹا کے لیے درخواستیں وصول کرتا ہے، جسے وہ آف چین جزو (جسے اوریکل نوڈ کہا جاتا ہے) کو بھیجتا ہے۔ یہ اوریکل نوڈ ڈیٹا ذرائع سے استفسار کر سکتا ہے—مثال کے طور پر، ایپلی کیشن پروگرامنگ انٹرفیس (APIs) کا استعمال کرتے ہوئے—اور درخواست کردہ ڈیٹا کو اسمارٹ کنٹریکٹ کے اسٹوریج میں ذخیرہ کرنے کے لیے ٹرانزیکشنز بھیج سکتا ہے۔ + +بنیادی طور پر، ایک بلاک چین اوریکل بلاک چین اور بیرونی ماحول کے درمیان معلوماتی خلا کو پر کرتا ہے، جس سے "ہائبرڈ اسمارٹ کنٹریکٹس" بنتے ہیں۔ ایک ہائبرڈ اسمارٹ کنٹریکٹ وہ ہے جو آن چین کنٹریکٹ کوڈ اور آف چین انفراسٹرکچر کے امتزاج کی بنیاد پر کام کرتا ہے۔ غیر مرکزی پیشین گوئی بازار ہائبرڈ اسمارٹ کنٹریکٹس کی ایک بہترین مثال ہیں۔ دیگر مثالوں میں فصلوں کی بیمہ کے اسمارٹ کنٹریکٹس شامل ہو سکتے ہیں جو اس وقت ادائیگی کرتے ہیں جب اوریکلز کا ایک سیٹ یہ طے کرتا ہے کہ کچھ موسمی مظاہر رونما ہوئے ہیں۔ + +## اوریکل کا مسئلہ کیا ہے؟ {#the-oracle-problem} + +اوریکلز ایک اہم مسئلہ حل کرتے ہیں، لیکن کچھ پیچیدگیاں بھی پیدا کرتے ہیں، مثلاً: + +- ہم یہ کیسے تصدیق کریں کہ داخل کی گئی معلومات صحیح ماخذ سے نکالی گئی ہے یا اس کے ساتھ چھیڑ چھاڑ نہیں کی گئی ہے؟ + +- ہم یہ کیسے یقینی بنائیں کہ یہ ڈیٹا ہمیشہ دستیاب رہے اور باقاعدگی سے اپ ڈیٹ ہوتا رہے؟ + +نام نہاد "اوریکل مسئلہ" ان مسائل کو ظاہر کرتا ہے جو اسمارٹ کنٹریکٹس کو ان پٹ بھیجنے کے لیے بلاک چین اوریکلز کے استعمال سے آتے ہیں۔ ایک اسمارٹ کنٹریکٹ کے صحیح طریقے سے عمل درآمد کرنے کے لیے ایک اوریکل سے حاصل کردہ ڈیٹا کا درست ہونا ضروری ہے۔ مزید یہ کہ، درست معلومات فراہم کرنے کے لیے اوریکل آپریٹرز پر 'بھروسہ' کرنا اسمارٹ کنٹریکٹس کے 'بھروسے کے بغیر' والے پہلو کو کمزور کرتا ہے۔ + +مختلف اوریکلز اوریکل کے مسئلے کے مختلف حل پیش کرتے ہیں، جس پر ہم بعد میں غور کریں گے۔ اوریکلز کا عام طور پر اس بات پر جائزہ لیا جاتا ہے کہ وہ مندرجہ ذیل چیلنجوں سے کتنی اچھی طرح نمٹ سکتے ہیں: + +1. **درستی**: ایک اوریکل کو غلط آف چین ڈیٹا کی بنیاد پر اسمارٹ کنٹریکٹس کو حالت میں تبدیلی لانے کا سبب نہیں بننا چاہیے۔ ایک اوریکل کو ڈیٹا کی _مستند ہونے_ اور _سالمیت_ کی ضمانت دینی چاہیے۔ مستند ہونے کا مطلب ہے کہ ڈیٹا صحیح ماخذ سے حاصل کیا گیا تھا، جبکہ سالمیت کا مطلب ہے کہ آن چین بھیجنے سے پہلے ڈیٹا برقرار رہا (یعنی، اس میں کوئی تبدیلی نہیں کی گئی)۔ + +2. **دستیابی**: ایک اوریکل کو اسمارٹ کنٹریکٹس کو اعمال پر عمل درآمد کرنے اور حالت کی تبدیلیوں کو متحرک کرنے میں تاخیر یا روکنا نہیں چاہیے۔ اس کا مطلب ہے کہ ایک اوریکل سے حاصل کردہ ڈیٹا _درخواست پر_ بغیر کسی رکاوٹ کے دستیاب ہونا چاہیے۔ + +3. **ترغیبی مطابقت**: ایک اوریکل کو آف چین ڈیٹا فراہم کنندگان کو اسمارٹ کنٹریکٹس کو درست معلومات جمع کرانے کی ترغیب دینی چاہیے۔ ترغیبی مطابقت میں _منسوبیت_ اور _جوابدہی_ شامل ہے۔ منسوبیت بیرونی معلومات کے ایک ٹکڑے کو اس کے فراہم کنندہ سے جوڑنے کی اجازت دیتی ہے، جبکہ جوابدہی ڈیٹا فراہم کنندگان کو ان کی دی گئی معلومات سے منسلک کرتی ہے، تاکہ انہیں فراہم کردہ معلومات کے معیار کی بنیاد پر انعام یا سزا دی جا سکے۔ + +## ایک بلاک چین اوریکل سروس کیسے کام کرتی ہے؟ {#how-does-a-blockchain-oracle-service-work} + +### صارفین {#users} + +صارفین وہ ادارے ہیں (یعنی، اسمارٹ کنٹریکٹس) جنہیں مخصوص اعمال کو مکمل کرنے کے لیے بلاک چین سے باہر کی معلومات کی ضرورت ہوتی ہے۔ ایک اوریکل سروس کا بنیادی ورک فلو صارف کے ذریعہ اوریکل کنٹریکٹ کو ڈیٹا کی درخواست بھیجنے سے شروع ہوتا ہے۔ ڈیٹا کی درخواستیں عام طور پر مندرجہ ذیل میں سے کچھ یا تمام سوالات کا جواب دیں گی: + +1. آف چین نوڈس درخواست کردہ معلومات کے لیے کن ذرائع سے مشورہ کر سکتے ہیں؟ + +2. رپورٹرز ڈیٹا کے ذرائع سے معلومات پر کارروائی کیسے کرتے ہیں اور مفید ڈیٹا پوائنٹس کیسے نکالتے ہیں؟ + +3. ڈیٹا حاصل کرنے میں کتنے اوریکل نوڈس حصہ لے سکتے ہیں؟ + +4. اوریکل رپورٹس میں تضادات کا انتظام کیسے کیا جانا چاہیے؟ + +5. گذارشات کو فلٹر کرنے اور رپورٹس کو ایک ہی قدر میں جمع کرنے کے لیے کون سا طریقہ نافذ کیا جانا چاہیے؟ + +### اوریکل کنٹریکٹ {#oracle-contract} + +اوریکل کنٹریکٹ اوریکل سروس کے لیے آن چین جزو ہے۔ یہ دوسرے کنٹریکٹس سے ڈیٹا کی درخواستیں سنتا ہے، ڈیٹا کے سوالات کو اوریکل نوڈس تک پہنچاتا ہے، اور واپس آنے والے ڈیٹا کو کلائنٹ کنٹریکٹس تک نشر کرتا ہے۔ یہ کنٹریکٹ واپس آنے والے ڈیٹا پوائنٹس پر کچھ حساب کتاب بھی کر سکتا ہے تاکہ درخواست کرنے والے کنٹریکٹ کو بھیجنے کے لیے ایک مجموعی قدر پیدا کی جا سکے۔ + +اوریکل کنٹریکٹ کچھ افعال کو ظاہر کرتا ہے جنہیں کلائنٹ کنٹریکٹس ڈیٹا کی درخواست کرتے وقت کال کرتے ہیں۔ ایک نئی استفسار موصول ہونے پر، اسمارٹ کنٹریکٹ ڈیٹا کی درخواست کی تفصیلات کے ساتھ ایک [لاگ ایونٹ](/developers/docs/smart-contracts/anatomy/#events-and-logs) خارج کرے گا۔ یہ لاگ کو سبسکرائب کرنے والے آف چین نوڈس کو مطلع کرتا ہے (عام طور پر JSON-RPC `eth_subscribe` کمانڈ جیسی کسی چیز کا استعمال کرتے ہوئے)، جو لاگ ایونٹ میں بیان کردہ ڈیٹا کو بازیافت کرنے کے لیے آگے بڑھتے ہیں۔ + +ذیل میں پیڈرو کوسٹا کا ایک [مثالی اوریکل کنٹریکٹ](https://medium.com/@pedrodc/implementing-a-blockchain-oracle-on-ethereum-cedc7e26b49e) ہے۔ یہ ایک سادہ اوریکل سروس ہے جو دوسرے اسمارٹ کنٹریکٹس کی درخواست پر آف چین APIs سے استفسار کر سکتی ہے اور درخواست کردہ معلومات کو بلاک چین پر ذخیرہ کر سکتی ہے۔ + +```solidity +pragma solidity >=0.4.21 <0.6.0; + +contract Oracle { + Request[] requests; //کنٹریکٹ کو کی گئی درخواستوں کی فہرست + uint currentId = 0; //بڑھتی ہوئی درخواست کی آئی ڈی + uint minQuorum = 2; //حتمی نتیجہ قرار دینے سے پہلے موصول ہونے والے جوابات کی کم از کم تعداد + uint totalOracleCount = 3; // ہارڈ کوڈڈ اوریکل کی گنتی + + // ایک عمومی api درخواست کی وضاحت کرتا ہے + struct Request { + uint id; //درخواست کی آئی ڈی + string urlToQuery; //API یو آر ایل + string attributeToFetch; //جواب میں بازیافت کرنے کے لیے json وصف (کلید) + string agreedValue; //کلید سے قدر + mapping(uint => string) answers; //اوریکلز کے ذریعہ فراہم کردہ جوابات + mapping(address => uint) quorum; //وہ اوریکلز جو جواب طلب کریں گے (1=اوریکل نے ووٹ نہیں دیا ہے، 2=اوریکل نے ووٹ دیا ہے) + } + + //وہ واقعہ جو بلاک چین کے باہر اوریکل کو متحرک کرتا ہے + event NewRequest ( + uint id, + string urlToQuery, + string attributeToFetch + ); + + //جب حتمی نتیجے پر اتفاق رائے ہو تو متحرک ہوتا ہے + event UpdatedRequest ( + uint id, + string urlToQuery, + string attributeToFetch, + string agreedValue + ); + + function createRequest ( + string memory _urlToQuery, + string memory _attributeToFetch + ) + public + { + uint length = requests.push(Request(currentId, _urlToQuery, _attributeToFetch, "")); + Request storage r = requests[length-1]; + + // ہارڈ کوڈڈ اوریکلز کا پتہ + r.quorum[address(0x6c2339b46F41a06f09CA0051ddAD54D1e582bA77)] = 1; + r.quorum[address(0xb5346CF224c02186606e5f89EACC21eC25398077)] = 1; + r.quorum[address(0xa2997F1CA363D11a0a35bB1Ac0Ff7849bc13e914)] = 1; + + // بلاک چین کے باہر اوریکل کے ذریعہ پتہ لگانے کے لیے ایک واقعہ شروع کریں + emit NewRequest ( + currentId, + _urlToQuery, + _attributeToFetch + ); + + // درخواست کی آئی ڈی میں اضافہ کریں + currentId++; + } + + //اوریکل کے ذریعہ اپنے جواب کو ریکارڈ کرنے کے لیے بلایا گیا + function updateRequest ( + uint _id, + string memory _valueRetrieved + ) public { + + Request storage currRequest = requests[_id]; + + //چیک کریں کہ آیا اوریکل قابل اعتماد اوریکلز کی فہرست میں ہے + //اور اگر اوریکل نے ابھی تک ووٹ نہیں دیا ہے + if(currRequest.quorum[address(msg.sender)] == 1){ + + //یہ نشان زد کرنا کہ اس پتے نے ووٹ دیا ہے + currRequest.quorum[msg.sender] = 2; + + //جوابات کی "سرنی" کے ذریعے تکرار کریں جب تک کہ کوئی پوزیشن خالی نہ ہو اور بازیافت شدہ قدر کو محفوظ کریں + uint tmpI = 0; + bool found = false; + while(!found) { + //پہلا خالی سلاٹ تلاش کریں + if(bytes(currRequest.answers[tmpI]).length == 0){ + found = true; + currRequest.answers[tmpI] = _valueRetrieved; + } + tmpI++; + } + + uint currentQuorum = 0; + + //اوریکل فہرست کے ذریعے تکرار کریں اور چیک کریں کہ آیا کافی اوریکلز (کم از کم کورم) ہیں + //نے موجودہ جواب کی طرح ہی ووٹ دیا ہے + for(uint i = 0; i < totalOracleCount; i++){ + bytes memory a = bytes(currRequest.answers[i]); + bytes memory b = bytes(_valueRetrieved); + + if(keccak256(a) == keccak256(b)){ + currentQuorum++; + if(currentQuorum >= minQuorum){ + currRequest.agreedValue = _valueRetrieved; + emit UpdatedRequest ( + currRequest.id, + currRequest.urlToQuery, + currRequest.attributeToFetch, + currRequest.agreedValue + ); + } + } + } + } + } +} +``` + +### اوریکل نوڈس {#oracle-nodes} + +اوریکل نوڈ اوریکل سروس کا آف چین جزو ہے۔ یہ بیرونی ذرائع، جیسے کہ فریق ثالث سرورز پر میزبانی کی گئی APIs سے معلومات نکالتا ہے، اور اسے اسمارٹ کنٹریکٹس کے استعمال کے لیے آن چین ڈالتا ہے۔ اوریکل نوڈس آن چین اوریکل کنٹریکٹ سے واقعات سنتے ہیں اور لاگ میں بیان کردہ کام کو مکمل کرنے کے لیے آگے بڑھتے ہیں۔ + +اوریکل نوڈس کے لیے ایک عام کام ایک API سروس کو [HTTP GET](https://www.w3schools.com/tags/ref_httpmethods.asp) درخواست بھیجنا، متعلقہ ڈیٹا نکالنے کے لیے جواب کو پارس کرنا، اسے بلاک چین کے پڑھنے کے قابل آؤٹ پٹ میں فارمیٹ کرنا، اور اسے اوریکل کنٹریکٹ کو ٹرانزیکشن میں شامل کرکے آن چین بھیجنا ہے۔ اوریکل نوڈ کو + +کمپیوٹیشنل اوریکلز بھی آف چین نوڈس پر انحصار کرتے ہیں تاکہ وہ کمپیوٹیشنل کام انجام دے سکیں جو گیس کی لاگت اور بلاک سائز کی حدود کو دیکھتے ہوئے آن چین پر عمل درآمد کرنا غیر عملی ہوگا۔ مثال کے طور پر، اوریکل نوڈ کو ایک قابل تصدیق بے ترتیب عدد پیدا کرنے کا کام سونپا جا سکتا ہے (مثلاً، بلاک چین پر مبنی گیمز کے لیے)۔ + +## اوریکل ڈیزائن پیٹرنز {#oracle-design-patterns} + +اوریکلز مختلف اقسام میں آتے ہیں، جن میں _فوری-پڑھنا_، _شائع-سبسکرائب_، اور _درخواست-جواب_ شامل ہیں، جن میں سے آخری دو Ethereum اسمارٹ کنٹریکٹس میں سب سے زیادہ مقبول ہیں۔ یہاں ہم شائع-سبسکرائب اور درخواست-جواب ماڈلز کی مختصر وضاحت کرتے ہیں۔ + +### پبلش-سبسکرائب اوریکلز {#publish-subscribe-oracles} + +اس قسم کا اوریکل ایک "ڈیٹا فیڈ" کو ظاہر کرتا ہے جسے دوسرے کنٹریکٹس معلومات کے لیے باقاعدگی سے پڑھ سکتے ہیں۔ اس معاملے میں ڈیٹا کے اکثر تبدیل ہونے کی توقع ہے، اس لیے کلائنٹ کنٹریکٹس کو اوریکل کے اسٹوریج میں ڈیٹا کی اپ ڈیٹس کو سننا چاہیے۔ ایک مثال ایک اوریکل ہے جو صارفین کو تازہ ترین ETH-USD قیمت کی معلومات فراہم کرتا ہے۔ + +### درخواست-جواب اوریکلز {#request-response-oracles} + +ایک درخواست-جواب سیٹ اپ کلائنٹ کنٹریکٹ کو پبلش-سبسکرائب اوریکل کے ذریعہ فراہم کردہ ڈیٹا کے علاوہ صوابدیدی ڈیٹا کی درخواست کرنے کی اجازت دیتا ہے۔ درخواست-جواب اوریکلز اس وقت مثالی ہیں جب ڈیٹا سیٹ اتنا بڑا ہو کہ اسے اسمارٹ کنٹریکٹ کے اسٹوریج میں ذخیرہ نہ کیا جا سکے، اور/یا صارفین کو کسی بھی وقت ڈیٹا کے صرف ایک چھوٹے سے حصے کی ضرورت ہوگی۔ + +اگرچہ پبلش-سبسکرائب ماڈلز سے زیادہ پیچیدہ ہیں، لیکن درخواست-جواب اوریکلز بنیادی طور پر وہی ہیں جن کی ہم نے پچھلے حصے میں وضاحت کی ہے۔ اوریکل میں ایک آن چین جزو ہوگا جو ڈیٹا کی درخواست وصول کرتا ہے اور اسے پروسیسنگ کے لیے آف چین نوڈ کو بھیجتا ہے۔ + +ڈیٹا کے سوالات شروع کرنے والے صارفین کو آف چین ماخذ سے معلومات حاصل کرنے کی لاگت کو پورا کرنا چاہیے۔ کلائنٹ کنٹریکٹ کو درخواست میں بیان کردہ کال بیک فنکشن کے ذریعے جواب واپس کرنے میں اوریکل کنٹریکٹ کے ذریعہ ہونے والی گیس کی لاگت کو پورا کرنے کے لیے فنڈز بھی فراہم کرنا ہوں گے۔ + +## مرکزی بمقابلہ غیر مرکزی اوریکلز {#types-of-oracles} + +### مرکزی اوریکلز {#centralized-oracles} + +ایک مرکزی اوریکل ایک واحد ادارے کے ذریعہ کنٹرول کیا جاتا ہے جو آف چین معلومات کو جمع کرنے اور درخواست کے مطابق اوریکل کنٹریکٹ کے ڈیٹا کو اپ ڈیٹ کرنے کا ذمہ دار ہوتا ہے۔ مرکزی اوریکلز موثر ہیں کیونکہ وہ سچائی کے ایک واحد ماخذ پر انحصار کرتے ہیں۔ وہ ایسے معاملات میں بہتر کام کر سکتے ہیں جہاں ملکیتی ڈیٹا سیٹس مالک کے ذریعہ براہ راست ایک وسیع پیمانے پر قبول شدہ دستخط کے ساتھ شائع کیے جاتے ہیں۔ تاہم، ان کے نقصانات بھی ہیں: + +#### کم درستی کی ضمانتیں {#low-correctness-guarantees} + +مرکزی اوریکلز کے ساتھ، اس بات کی تصدیق کرنے کا کوئی طریقہ نہیں ہے کہ فراہم کردہ معلومات درست ہے یا نہیں۔ یہاں تک کہ "معتبر" فراہم کنندگان بھی بدمعاش ہو سکتے ہیں یا ہیک ہو سکتے ہیں۔ اگر اوریکل خراب ہو جاتا ہے، تو اسمارٹ کنٹریکٹس خراب ڈیٹا کی بنیاد پر عمل درآمد کریں گے۔ + +#### خراب دستیابی {#poor-availability} + +مرکزی اوریکلز کو ہمیشہ دوسرے اسمارٹ کنٹریکٹس کو آف چین ڈیٹا دستیاب کرانے کی ضمانت نہیں ہے۔ اگر فراہم کنندہ سروس بند کرنے کا فیصلہ کرتا ہے یا کوئی ہیکر اوریکل کے آف چین جزو کو ہائی جیک کر لیتا ہے، تو آپ کا اسمارٹ کنٹریکٹ ڈینائل آف سروس (DoS) حملے کے خطرے سے دوچار ہوتا ہے۔ + +#### خراب ترغیبی مطابقت {#poor-incentive-compatibility} + +مرکزی اوریکلز میں اکثر ڈیٹا فراہم کنندہ کے لیے درست/غیر تبدیل شدہ معلومات بھیجنے کے لیے خراب ڈیزائن کردہ یا غیر موجود ترغیبات ہوتی ہیں۔ درستی کے لیے اوریکل کو ادائیگی کرنا ایمانداری کی ضمانت نہیں دیتا۔ یہ مسئلہ اس وقت بڑا ہو جاتا ہے جب اسمارٹ کنٹریکٹس کے ذریعے کنٹرول کی جانے والی قدر کی مقدار بڑھ جاتی ہے۔ + +### غیر مرکزی اوریکلز {#decentralized-oracles} + +غیر مرکزی اوریکلز کو ناکامی کے واحد نکات کو ختم کرکے مرکزی اوریکلز کی حدود پر قابو پانے کے لیے ڈیزائن کیا گیا ہے۔ ایک غیر مرکزی اوریکل سروس ایک پیئر-ٹو-پیئر نیٹ ورک میں متعدد شرکاء پر مشتمل ہوتی ہے جو آف چین ڈیٹا پر اتفاق رائے قائم کرتے ہیں اس سے پہلے کہ اسے اسمارٹ کنٹریکٹ میں بھیجا جائے۔ + +ایک غیر مرکزی اوریکل (مثالی طور پر) بغیر اجازت، بغیر بھروسے، اور مرکزی پارٹی کے ذریعہ انتظامیہ سے پاک ہونا چاہیے؛ حقیقت میں، اوریکلز کے درمیان غیر مرکزیت ایک سپیکٹرم پر ہے۔ نیم غیر مرکزی اوریکل نیٹ ورکس ہیں جہاں کوئی بھی حصہ لے سکتا ہے، لیکن ایک "مالک" کے ساتھ جو تاریخی کارکردگی کی بنیاد پر نوڈس کو منظور اور ہٹاتا ہے۔ مکمل طور پر غیر مرکزی اوریکل نیٹ ورکس بھی موجود ہیں: یہ عام طور پر اسٹینڈ ایلون بلاک چینز کے طور پر چلتے ہیں اور نوڈس کو مربوط کرنے اور غلط رویے کی سزا دینے کے لیے متفقہ میکانزم کی وضاحت کرتے ہیں۔ + +غیر مرکزی اوریکلز کے استعمال سے درج ذیل فوائد حاصل ہوتے ہیں: + +### اعلی درستی کی ضمانتیں {#high-correctness-guarantees} + +غیر مرکزی اوریکلز مختلف طریقوں کا استعمال کرتے ہوئے ڈیٹا کی درستی حاصل کرنے کی کوشش کرتے ہیں۔ اس میں واپس کی گئی معلومات کی صداقت اور سالمیت کی تصدیق کرنے والے ثبوتوں کا استعمال اور متعدد اداروں سے آف چین ڈیٹا کی درستگی پر اجتماعی طور پر اتفاق کرنے کا مطالبہ شامل ہے۔ + +#### صداقت کے ثبوت {#authenticity-proofs} + +صداقت کے ثبوت کرپٹوگرافک میکانزم ہیں جو بیرونی ذرائع سے حاصل کی گئی معلومات کی آزادانہ تصدیق کو ممکن بناتے ہیں۔ یہ ثبوت معلومات کے ماخذ کی توثیق کر سکتے ہیں اور بازیافت کے بعد ڈیٹا میں ممکنہ تبدیلیوں کا پتہ لگا سکتے ہیں۔ + +صداقت کے ثبوت کی مثالیں شامل ہیں: + +**ٹرانسپورٹ لیئر سیکیورٹی (TLS) ثبوت**: اوریکل نوڈس اکثر ٹرانسپورٹ لیئر سیکیورٹی (TLS) پروٹوکول پر مبنی ایک محفوظ HTTP کنکشن کا استعمال کرتے ہوئے بیرونی ذرائع سے ڈیٹا حاصل کرتے ہیں۔ کچھ غیر مرکزی اوریکلز TLS سیشنز کی تصدیق کے لیے صداقت کے ثبوت استعمال کرتے ہیں (یعنی، ایک نوڈ اور ایک مخصوص سرور کے درمیان معلومات کے تبادلے کی تصدیق) اور اس بات کی تصدیق کرتے ہیں کہ سیشن کے مندرجات میں کوئی تبدیلی نہیں کی گئی تھی۔ + +**ٹرسٹڈ ایگزیکیوشن انوائرنمنٹ (TEE) تصدیقات**: ایک [ٹرسٹڈ ایگزیکیوشن انوائرنمنٹ](https://en.wikipedia.org/wiki/Trusted_execution_environment) (TEE) ایک سینڈ باکسڈ کمپیوٹیشنل ماحول ہے جو اپنے میزبان نظام کے آپریشنل عمل سے الگ تھلگ ہے۔ TEEs اس بات کو یقینی بناتے ہیں کہ کمپیوٹیشنل ماحول میں ذخیرہ/استعمال ہونے والا کوئی بھی ایپلیکیشن کوڈ یا ڈیٹا سالمیت، رازداری، اور ناقابل تغیر کو برقرار رکھتا ہے۔ صارفین یہ ثابت کرنے کے لیے ایک تصدیق بھی پیدا کر سکتے ہیں کہ ایک ایپلیکیشن مثال بھروسہ مند ایگزیکیوشن ماحول میں چل رہی ہے۔ + +غیر مرکزی اوریکلز کی کچھ کلاسیں اوریکل نوڈ آپریٹرز سے TEE تصدیقات فراہم کرنے کا مطالبہ کرتی ہیں۔ یہ ایک صارف کو تصدیق کرتا ہے کہ نوڈ آپریٹر ایک بھروسہ مند ایگزیکیوشن ماحول میں اوریکل کلائنٹ کی ایک مثال چلا رہا ہے۔ TEEs بیرونی عمل کو کسی ایپلیکیشن کے کوڈ اور ڈیٹا کو تبدیل کرنے یا پڑھنے سے روکتے ہیں، لہذا، وہ تصدیقات ثابت کرتی ہیں کہ اوریکل نوڈ نے معلومات کو برقرار اور خفیہ رکھا ہے۔ + +#### معلومات کی اتفاق رائے پر مبنی توثیق {#consensus-based-validation-of-information} + +مرکزی اوریکلز اسمارٹ کنٹریکٹس کو ڈیٹا فراہم کرتے وقت سچائی کے ایک واحد ماخذ پر انحصار کرتے ہیں، جو غلط معلومات شائع کرنے کا امکان پیدا کرتا ہے۔ غیر مرکزی اوریکلز اس مسئلے کو آف چین معلومات سے استفسار کرنے کے لیے متعدد اوریکل نوڈس پر انحصار کرکے حل کرتے ہیں۔ متعدد ذرائع سے ڈیٹا کا موازنہ کرکے، غیر مرکزی اوریکلز آن چین کنٹریکٹس کو غلط معلومات منتقل کرنے کے خطرے کو کم کرتے ہیں۔ + +تاہم، غیر مرکزی اوریکلز کو متعدد آف چین ذرائع سے حاصل کی گئی معلومات میں تضادات سے نمٹنا پڑتا ہے۔ معلومات میں اختلافات کو کم سے کم کرنے اور اس بات کو یقینی بنانے کے لیے کہ اوریکل کنٹریکٹ کو منتقل کیا گیا ڈیٹا اوریکل نوڈس کی اجتماعی رائے کی عکاسی کرتا ہے، غیر مرکزی اوریکلز درج ذیل میکانزم استعمال کرتے ہیں: + +##### ڈیٹا کی درستگی پر ووٹنگ/اسٹیکنگ + +کچھ غیر مرکزی اوریکل نیٹ ورکس شرکاء سے ڈیٹا کے سوالات کے جوابات کی درستگی پر ووٹ دینے یا اسٹیک کرنے کا مطالبہ کرتے ہیں (مثلاً، "2020 کا امریکی انتخاب کس نے جیتا؟") نیٹ ورک کے مقامی ٹوکن کا استعمال کرتے ہوئے۔ ایک ایگریگیشن پروٹوکول پھر ووٹوں اور اسٹیکس کو جمع کرتا ہے اور اکثریت کی حمایت والے جواب کو درست مانتا ہے۔ + +جن نوڈس کے جوابات اکثریت کے جواب سے انحراف کرتے ہیں، ان کے ٹوکنز کو ان لوگوں میں تقسیم کرکے سزا دی جاتی ہے جو زیادہ درست اقدار فراہم کرتے ہیں۔ نوڈس کو ڈیٹا فراہم کرنے سے پہلے بانڈ فراہم کرنے پر مجبور کرنا ایماندارانہ جوابات کی ترغیب دیتا ہے کیونکہ انہیں عقلی اقتصادی اداکار سمجھا جاتا ہے جو زیادہ سے زیادہ منافع حاصل کرنے کا ارادہ رکھتے ہیں۔ + +اسٹیکنگ/ووٹنگ غیر مرکزی اوریکلز کو [Sybil حملوں](/glossary/#sybil-attack) سے بھی بچاتی ہے جہاں بدنیتی پر مبنی اداکار اتفاق رائے کے نظام کو گیم کرنے کے لیے متعدد شناختیں بناتے ہیں۔ تاہم، اسٹیکنگ "فری لوڈنگ" (اوریکل نوڈس دوسروں سے معلومات کاپی کرنا) اور "سست توثیق" (اوریکل نوڈس خود معلومات کی تصدیق کیے بغیر اکثریت کی پیروی کرنا) کو نہیں روک سکتی۔ + +##### شیلنگ پوائنٹ میکانزم + +[شیلنگ پوائنٹ](https://en.wikipedia.org/wiki/Focal_point_\(game_theory\)) ایک گیم-تھیوری کا تصور ہے جو یہ فرض کرتا ہے کہ متعدد ادارے کسی بھی مواصلات کی عدم موجودگی میں کسی مسئلے کے مشترکہ حل پر ہمیشہ پہلے سے طے شدہ ہوں گے۔ شیلنگ-پوائنٹ میکانزم اکثر غیر مرکزی اوریکل نیٹ ورکس میں استعمال کیے جاتے ہیں تاکہ نوڈس کو ڈیٹا کی درخواستوں کے جوابات پر اتفاق رائے تک پہنچنے میں مدد مل سکے۔ + +اس کے لیے ایک ابتدائی خیال [SchellingCoin](https://blog.ethereum.org/2014/03/28/schellingcoin-a-minimal-trust-universal-data-feed/) تھا، جو ایک مجوزہ ڈیٹا فیڈ ہے جہاں شرکاء "اسکیلر" سوالات (وہ سوالات جن کے جوابات شدت سے بیان کیے جاتے ہیں، مثلاً، "ETH کی قیمت کیا ہے؟") کے جوابات جمع کراتے ہیں، ساتھ ہی ایک ڈپازٹ بھی۔ جو صارفین 25ویں اور 75ویں [پرسنٹائل](https://en.wikipedia.org/wiki/Percentile) کے درمیان قدریں فراہم کرتے ہیں، انہیں انعام دیا جاتا ہے، جبکہ جن کی قدریں درمیانی قدر سے بہت زیادہ انحراف کرتی ہیں، انہیں سزا دی جاتی ہے۔ + +اگرچہ SchellingCoin آج موجود نہیں ہے، لیکن کئی غیر مرکزی اوریکلز—خاص طور پر [Maker Protocol’s Oracles](https://docs.makerdao.com/smart-contract-modules/oracle-module)—اوریکل ڈیٹا کی درستگی کو بہتر بنانے کے لیے شیلنگ-پوائنٹ میکانزم کا استعمال کرتے ہیں۔ ہر Maker Oracle نوڈس ("relayers" اور "feeds") کے ایک آف چین P2P نیٹ ورک پر مشتمل ہوتا ہے جو کولیٹرل اثاثوں کے لیے مارکیٹ کی قیمتیں جمع کراتے ہیں اور ایک آن چین "Medianizer" کنٹریکٹ جو تمام فراہم کردہ اقدار کا درمیانی حساب لگاتا ہے۔ ایک بار جب مخصوص تاخیر کی مدت ختم ہو جاتی ہے، تو یہ درمیانی قدر متعلقہ اثاثے کے لیے نئی حوالہ قیمت بن جاتی ہے۔ + +شیلنگ پوائنٹ میکانزم استعمال کرنے والے اوریکلز کی دیگر مثالوں میں [Chainlink Offchain Reporting](https://docs.chain.link/architecture-overview/off-chain-reporting) اور [Witnet](https://witnet.io/) شامل ہیں۔ دونوں نظاموں میں، پیئر-ٹو-پیئر نیٹ ورک میں اوریکل نوڈس کے جوابات کو ایک واحد مجموعی قدر میں جمع کیا جاتا ہے، جیسے کہ اوسط یا درمیانی۔ نوڈس کو اس حد تک انعام یا سزا دی جاتی ہے جس حد تک ان کے جوابات مجموعی قدر سے مطابقت رکھتے ہیں یا انحراف کرتے ہیں۔ + +شیلنگ پوائنٹ میکانزم پرکشش ہیں کیونکہ وہ آن چین فوٹ پرنٹ کو کم سے کم کرتے ہیں (صرف ایک ٹرانزیکشن بھیجنے کی ضرورت ہے) جبکہ غیر مرکزیت کی ضمانت دیتے ہیں۔ مؤخر الذکر ممکن ہے کیونکہ نوڈس کو جمع کردہ جوابات کی فہرست پر دستخط کرنا ضروری ہے اس سے پہلے کہ اسے اس الگورتھم میں فیڈ کیا جائے جو اوسط/درمیانی قدر پیدا کرتا ہے۔ + +### دستیابی {#availability} + +غیر مرکزی اوریکل خدمات اسمارٹ کنٹریکٹس کو آف چین ڈیٹا کی اعلی دستیابی کو یقینی بناتی ہیں۔ یہ آف چین معلومات کے ماخذ اور معلومات کو آن چین منتقل کرنے کے ذمہ دار نوڈس دونوں کو غیر مرکزی بنا کر حاصل کیا جاتا ہے۔ + +یہ فالٹ-ٹالرنس کو یقینی بناتا ہے کیونکہ اوریکل کنٹریکٹ دوسرے کنٹریکٹس سے سوالات پر عمل درآمد کرنے کے لیے متعدد نوڈس (جو متعدد ڈیٹا ذرائع پر بھی انحصار کرتے ہیں) پر انحصار کر سکتا ہے۔ ماخذ _اور_ نوڈ-آپریٹر کی سطح پر غیر مرکزیت اہم ہے—ایک ہی ماخذ سے حاصل کردہ معلومات کی خدمت کرنے والے اوریکل نوڈس کا ایک نیٹ ورک ایک مرکزی اوریکل جیسے ہی مسئلے میں پڑ جائے گا۔ + +اسٹیک پر مبنی اوریکلز کے لیے یہ بھی ممکن ہے کہ وہ ان نوڈ آپریٹرز کو سلیش کریں جو ڈیٹا کی درخواستوں کا فوری جواب دینے میں ناکام رہتے ہیں۔ یہ اوریکل نوڈس کو فالٹ-ٹالرنٹ انفراسٹرکچر میں سرمایہ کاری کرنے اور بروقت ڈیٹا فراہم کرنے کے لیے نمایاں طور پر ترغیب دیتا ہے۔ + +### اچھی ترغیبی مطابقت {#good-incentive-compatibility} + +غیر مرکزی اوریکلز اوریکل نوڈس کے درمیان [بیزنٹائن](https://en.wikipedia.org/wiki/Byzantine_fault) رویے کو روکنے کے لیے مختلف ترغیبی ڈیزائن نافذ کرتے ہیں۔ خاص طور پر، وہ _منسوبیت_ اور _جوابدہی_ حاصل کرتے ہیں: + +1. غیر مرکزی اوریکل نوڈس سے اکثر یہ مطالبہ کیا جاتا ہے کہ وہ ڈیٹا کی درخواستوں کے جواب میں فراہم کردہ ڈیٹا پر دستخط کریں۔ یہ معلومات اوریکل نوڈس کی تاریخی کارکردگی کا جائزہ لینے میں مدد کرتی ہے، تاکہ صارفین ڈیٹا کی درخواستیں کرتے وقت ناقابل اعتماد اوریکل نوڈس کو فلٹر کر سکیں۔ ایک مثال Witnet کا [الگورتھمک ریپوٹیشن سسٹم](https://docs.witnet.io/intro/about/architecture#algorithmic-reputation-system) ہے۔ + +2. غیر مرکزی اوریکلز—جیسا کہ پہلے وضاحت کی گئی ہے—نوڈس سے یہ مطالبہ کر سکتے ہیں کہ وہ جمع کردہ ڈیٹا کی سچائی پر اپنے اعتماد پر ایک اسٹیک لگائیں۔ اگر دعویٰ درست ثابت ہوتا ہے، تو یہ اسٹیک ایماندارانہ خدمت کے لیے انعامات کے ساتھ واپس کیا جا سکتا ہے۔ لیکن اگر معلومات غلط ہوں تو اسے سلیش بھی کیا جا سکتا ہے، جو کچھ حد تک جوابدہی فراہم کرتا ہے۔ + +## اسمارٹ کنٹریکٹس میں اوریکلز کی ایپلی کیشنز {#applications-of-oracles-in-smart-contracts} + +درج ذیل Ethereum میں اوریکلز کے عام استعمال کے معاملات ہیں: + +### مالیاتی ڈیٹا حاصل کرنا {#retrieving-financial-data} + +[غیر مرکزی مالیات](/defi/) (DeFi) ایپلی کیشنز اثاثوں کے پیئر-ٹو-پیئر قرض دینے، قرض لینے، اور تجارت کی اجازت دیتی ہیں۔ اس کے لیے اکثر مختلف مالیاتی معلومات حاصل کرنے کی ضرورت ہوتی ہے، بشمول ایکسچینج ریٹ ڈیٹا (کرپٹو کرنسیوں کی فیاٹ ویلیو کا حساب لگانے یا ٹوکن کی قیمتوں کا موازنہ کرنے کے لیے) اور کیپیٹل مارکیٹس ڈیٹا (ٹوکنائزڈ اثاثوں، جیسے سونا یا امریکی ڈالر کی قدر کا حساب لگانے کے لیے)۔ + +مثال کے طور پر، ایک DeFi قرض دینے والے پروٹوکول کو کولیٹرل کے طور پر جمع کردہ اثاثوں (مثلاً، ETH) کے لیے موجودہ مارکیٹ کی قیمتوں سے استفسار کرنے کی ضرورت ہے۔ یہ کنٹریکٹ کو کولیٹرل اثاثوں کی قدر کا تعین کرنے اور یہ تعین کرنے دیتا ہے کہ وہ سسٹم سے کتنا قرض لے سکتا ہے۔ + +DeFi میں مقبول "قیمت اوریکلز" (جیسا کہ انہیں اکثر کہا جاتا ہے) میں Chainlink Price Feeds، Compound Protocol کا [Open Price Feed](https://compound.finance/docs/prices)، Uniswap کے [Time-Weighted Average Prices (TWAPs)](https://docs.uniswap.org/contracts/v2/concepts/core-concepts/oracles)، اور [Maker Oracles](https://docs.makerdao.com/smart-contract-modules/oracle-module) شامل ہیں۔ + +بلڈرز کو ان قیمت اوریکلز کو اپنے پروجیکٹ میں ضم کرنے سے پہلے ان کے ساتھ آنے والی انتباہات کو سمجھنا چاہیے۔ یہ [مضمون](https://blog.openzeppelin.com/secure-smart-contract-guidelines-the-dangers-of-price-oracles/) اس بات کا تفصیلی تجزیہ فراہم کرتا ہے کہ مذکورہ قیمت اوریکلز میں سے کسی کو استعمال کرنے کی منصوبہ بندی کرتے وقت کن باتوں پر غور کرنا چاہیے۔ + +ذیل میں ایک مثال ہے کہ آپ Chainlink قیمت فیڈ کا استعمال کرتے ہوئے اپنے اسمارٹ کنٹریکٹ میں تازہ ترین ETH قیمت کیسے حاصل کر سکتے ہیں: + +```solidity +pragma solidity ^0.6.7; + +import "@chainlink/contracts/src/v0.6/interfaces/AggregatorV3Interface.sol"; + +contract PriceConsumerV3 { + + AggregatorV3Interface internal priceFeed; + + /** + * Network: Kovan + * Aggregator: ETH/USD + * Address: 0x9326BFA02ADD2366b30bacB125260Af641031331 + */ + constructor() public { + priceFeed = AggregatorV3Interface(0x9326BFA02ADD2366b30bacB125260Af641031331); + } + + /** + * Returns the latest price + */ + function getLatestPrice() public view returns (int) { + ( + uint80 roundID, + int price, + uint startedAt, + uint timeStamp, + uint80 answeredInRound + ) = priceFeed.latestRoundData(); + return price; + } +} +``` + +### قابل تصدیق بے ترتیب پن پیدا کرنا {#generating-verifiable-randomness} + +کچھ بلاک چین ایپلی کیشنز، جیسے بلاک چین پر مبنی گیمز یا لاٹری اسکیموں کو، مؤثر طریقے سے کام کرنے کے لیے اعلیٰ سطح کی غیر متوقعیت اور بے ترتیب پن کی ضرورت ہوتی ہے۔ تاہم، بلاک چینز کا حتمی عمل درآمد بے ترتیب پن کو ختم کر دیتا ہے۔ + +اصل نقطہ نظر سیوڈو-رینڈم کرپٹوگرافک افعال، جیسے `blockhash` کا استعمال کرنا تھا، لیکن ان کو [مائنرز کے ذریعے جوڑ توڑ کیا جا سکتا تھا](https://ethereum.stackexchange.com/questions/3140/risk-of-using-blockhash-other-miners-preventing-attack#:~:text=So%20while%20the%20miners%20can,to%20one%20of%20the%20players.) پروف-آف-ورک الگورتھم کو حل کرنا۔ اس کے علاوہ، Ethereum کا [پروف-آف-اسٹیک میں منتقلی](/roadmap/merge/) کا مطلب ہے کہ ڈیولپرز اب آن چین بے ترتیب پن کے لیے `blockhash` پر انحصار نہیں کر سکتے۔ بیکن چین کا [RANDAO میکانزم](https://eth2book.info/altair/part2/building_blocks/randomness) اس کے بجائے بے ترتیب پن کا ایک متبادل ذریعہ فراہم کرتا ہے۔ + +بے ترتیب قدر کو آف چین پیدا کرنا اور اسے آن چین بھیجنا ممکن ہے، لیکن ایسا کرنے سے صارفین پر اعلیٰ اعتماد کی ضروریات عائد ہوتی ہیں۔ انہیں یہ یقین کرنا ہوگا کہ قدر واقعی غیر متوقع میکانزم کے ذریعے پیدا کی گئی تھی اور ٹرانزٹ میں اس میں کوئی تبدیلی نہیں کی گئی تھی۔ + +آف چین کمپیوٹیشن کے لیے ڈیزائن کیے گئے اوریکلز اس مسئلے کو حل کرتے ہیں محفوظ طریقے سے آف چین بے ترتیب نتائج پیدا کرکے جنہیں وہ آن چین نشر کرتے ہیں ساتھ ہی کرپٹوگرافک ثبوتوں کے ساتھ جو اس عمل کی غیر متوقعیت کی تصدیق کرتے ہیں۔ ایک مثال [Chainlink VRF](https://docs.chain.link/docs/chainlink-vrf/) (قابل تصدیق بے ترتیب فنکشن) ہے، جو ایک ثابت شدہ طور پر منصفانہ اور چھیڑ چھاڑ سے پاک رینڈم نمبر جنریٹر (RNG) ہے جو ان ایپلی کیشنز کے لیے قابل اعتماد اسمارٹ کنٹریکٹس بنانے کے لیے مفید ہے جو غیر متوقع نتائج پر انحصار کرتی ہیں۔ + +### واقعات کے نتائج حاصل کرنا {#getting-outcomes-for-events} + +اوریکلز کے ساتھ، ایسے اسمارٹ کنٹریکٹس بنانا آسان ہے جو حقیقی دنیا کے واقعات کا جواب دیتے ہیں۔ اوریکل خدمات کنٹریکٹس کو آف چین اجزاء کے ذریعے بیرونی APIs سے منسلک ہونے اور ان ڈیٹا ذرائع سے معلومات استعمال کرنے کی اجازت دے کر اسے ممکن بناتی ہیں۔ مثال کے طور پر، پہلے ذکر کردہ پیشین گوئی ڈیپ ایک اوریکل سے درخواست کر سکتی ہے کہ وہ ایک قابل اعتماد آف چین ماخذ (مثلاً، ایسوسی ایٹڈ پریس) سے انتخابی نتائج واپس کرے۔ + +حقیقی دنیا کے نتائج کی بنیاد پر ڈیٹا حاصل کرنے کے لیے اوریکلز کا استعمال دیگر نئے استعمال کے معاملات کو بھی ممکن بناتا ہے؛ مثال کے طور پر، ایک غیر مرکزی بیمہ پروڈکٹ کو مؤثر طریقے سے کام کرنے کے لیے موسم، آفات، وغیرہ کے بارے میں درست معلومات کی ضرورت ہوتی ہے۔ + +### اسمارٹ کنٹریکٹس کو خودکار بنانا {#automating-smart-contracts} + +اسمارٹ کنٹریکٹس خود بخود نہیں چلتے؛ بلکہ، ایک بیرونی ملکیت والا اکاؤنٹ (EOA)، یا کوئی دوسرا کنٹریکٹ اکاؤنٹ، کنٹریکٹ کے کوڈ پر عمل درآمد کرنے کے لیے صحیح افعال کو متحرک کرنا ضروری ہے۔ زیادہ تر معاملات میں، کنٹریکٹ کے افعال کا بڑا حصہ عوامی ہوتا ہے اور اسے EOAs اور دیگر کنٹریکٹس کے ذریعے بلایا جا سکتا ہے۔ + +لیکن ایک کنٹریکٹ کے اندر _نجی افعال_ بھی ہوتے ہیں جو دوسروں کے لیے ناقابل رسائی ہوتے ہیں؛ لیکن جو ایک ڈیپ کی مجموعی فعالیت کے لیے اہم ہوتے ہیں۔ مثالوں میں ایک `mintERC721Token()` فنکشن شامل ہے جو وقتاً فوقتاً صارفین کے لیے نئے NFTs منٹ کرتا ہے، ایک پیشین گوئی بازار میں ادائیگیوں سے نوازنے کے لیے ایک فنکشن، یا ایک DEX میں اسٹیک کیے گئے ٹوکنز کو انلاک کرنے کے لیے ایک فنکشن۔ + +ایپلیکیشن کو آسانی سے چلانے کے لیے ڈیولپرز کو وقفوں پر ایسے افعال کو متحرک کرنے کی ضرورت ہوگی۔ تاہم، یہ ڈیولپرز کے لیے دنیاوی کاموں پر مزید گھنٹے ضائع ہونے کا باعث بن سکتا ہے، یہی وجہ ہے کہ اسمارٹ کنٹریکٹس کے عمل درآمد کو خودکار بنانا پرکشش ہے۔ + +کچھ غیر مرکزی اوریکل نیٹ ورکس آٹومیشن خدمات پیش کرتے ہیں، جو آف چین اوریکل نوڈس کو صارف کے ذریعہ بیان کردہ پیرامیٹرز کے مطابق اسمارٹ کنٹریکٹ افعال کو متحرک کرنے کی اجازت دیتے ہیں۔ عام طور پر، اس کے لیے اوریکل سروس کے ساتھ ٹارگٹ کنٹریکٹ کو "رجسٹر" کرنے، اوریکل آپریٹر کو ادائیگی کے لیے فنڈز فراہم کرنے، اور کنٹریکٹ کو متحرک کرنے کے لیے شرائط یا اوقات کی وضاحت کرنے کی ضرورت ہوتی ہے۔ + +Chainlink کا [Keeper Network](https://chain.link/keepers) اسمارٹ کنٹریکٹس کو ایک بھروسہ مند اور غیر مرکزی طریقے سے باقاعدہ دیکھ بھال کے کاموں کو آؤٹ سورس کرنے کے اختیارات فراہم کرتا ہے۔ اپنے کنٹریکٹ کو Keeper-compatible بنانے اور Upkeep سروس استعمال کرنے کے بارے میں معلومات کے لیے آفیشل [Keeper's documentation](https://docs.chain.link/docs/chainlink-keepers/introduction/) پڑھیں۔ + +## بلاک چین اوریکلز کا استعمال کیسے کریں {#use-blockchain-oracles} + +متعدد اوریکل ایپلی کیشنز ہیں جنہیں آپ اپنے Ethereum ڈیپ میں ضم کر سکتے ہیں: + +**[Chainlink](https://chain.link/)** - _Chainlink غیر مرکزی اوریکل نیٹ ورکس کسی بھی بلاک چین پر جدید اسمارٹ کنٹریکٹس کی حمایت کے لیے چھیڑ چھاڑ سے پاک ان پٹ، آؤٹ پٹ، اور حسابات فراہم کرتے ہیں۔_ + +**[RedStone Oracles](https://redstone.finance/)** - _RedStone ایک غیر مرکزی ماڈیولر اوریکل ہے جو گیس-آپٹمائزڈ ڈیٹا فیڈز فراہم کرتا ہے۔ یہ ابھرتے ہوئے اثاثوں، جیسے لیکویڈ اسٹیکنگ ٹوکنز (LSTs)، لیکویڈ ری-اسٹیکنگ ٹوکنز (LRTs)، اور Bitcoin اسٹیکنگ ڈیریویٹوز کے لیے قیمت فیڈز پیش کرنے میں مہارت رکھتا ہے۔_ + +**[Chronicle](https://chroniclelabs.org/)** - _Chronicle واقعی قابل توسیع، لاگت-موثر، غیر مرکزی، اور قابل تصدیق اوریکلز تیار کرکے آن چین ڈیٹا کی منتقلی کی موجودہ حدود پر قابو پاتا ہے۔_ + +**[Witnet](https://witnet.io/)** - _Witnet ایک بغیر اجازت، غیر مرکزی، اور سنسر شپ-مزاحم اوریکل ہے جو اسمارٹ کنٹریکٹس کو مضبوط کرپٹو-اکنامک گارنٹی کے ساتھ حقیقی دنیا کے واقعات پر رد عمل ظاہر کرنے میں مدد کرتا ہے۔_ + +**[UMA Oracle](https://uma.xyz)** - _UMA کا آپٹمسٹک اوریکل اسمارٹ کنٹریکٹس کو مختلف ایپلی کیشنز، بشمول انشورنس، مالیاتی ڈیریویٹوز، اور پیشین گوئی بازاروں کے لیے کسی بھی قسم کا ڈیٹا تیزی سے اور وصول کرنے کی اجازت دیتا ہے۔_ + +**[Tellor](https://tellor.io/)** - _Tellor آپ کے اسمارٹ کنٹریکٹ کے لیے ایک شفاف اور بغیر اجازت والا اوریکل پروٹوکول ہے تاکہ جب بھی اسے ضرورت ہو آسانی سے کوئی بھی ڈیٹا حاصل کیا جا سکے۔_ + +**[Band Protocol](https://bandprotocol.com/)** - _Band Protocol ایک کراس-چین ڈیٹا اوریکل پلیٹ فارم ہے جو حقیقی دنیا کے ڈیٹا اور APIs کو اسمارٹ کنٹریکٹس سے جمع اور جوڑتا ہے۔_ + +**[Pyth Network](https://pyth.network/)** - _Pyth نیٹ ورک ایک فرسٹ-پارٹی مالیاتی اوریکل نیٹ ورک ہے جو ایک چھیڑ چھاڑ سے پاک، غیر مرکزی، اور خود-پائیدار ماحول میں آن چین پر مسلسل حقیقی دنیا کا ڈیٹا شائع کرنے کے لیے ڈیزائن کیا گیا ہے۔_ + +**[API3 DAO](https://www.api3.org/)** - _API3 DAO فرسٹ-پارٹی اوریکل حل فراہم کر رہا ہے جو اسمارٹ کنٹریکٹس کے لیے ایک غیر مرکزی حل میں زیادہ ماخذ کی شفافیت، سیکیورٹی اور اسکیل ایبلٹی فراہم کرتے ہیں_ + +**[Supra](https://supra.com/)** - کراس-چین حلوں کا ایک عمودی طور پر مربوط ٹول کٹ جو تمام بلاک چینز، عوامی (L1s اور L2s) یا نجی (انٹرپرائزز) کو آپس میں جوڑتا ہے، غیر مرکزی اوریکل قیمت فیڈز فراہم کرتا ہے جو آن چین اور آف چین استعمال کے معاملات کے لیے استعمال کیا جا سکتا ہے۔ + +**[Gas Network](https://gas.network/)** - ایک تقسیم شدہ اوریکل پلیٹ فارم جو بلاک چین بھر میں ریئل ٹائم گیس کی قیمت کا ڈیٹا فراہم کرتا ہے۔ سرکردہ گیس قیمت ڈیٹا فراہم کنندگان سے ڈیٹا آن چین لا کر، Gas Network باہمی عمل کو چلانے میں مدد کر رہا ہے۔ Gas Network 35 سے زیادہ چینز کے لیے ڈیٹا کو سپورٹ کرتا ہے، بشمول Ethereum Mainnet اور بہت سے سرکردہ L2s۔ + +## مزید پڑھیں {#further-reading} + +**مضامین** + +- [ایک بلاک چین اوریکل کیا ہے؟](https://chain.link/education/blockchain-oracles) — _Chainlink_ +- [ایک بلاک چین اوریکل کیا ہے؟](https://medium.com/better-programming/what-is-a-blockchain-oracle-f5ccab8dbd72) — _Patrick Collins_ +- [غیر مرکزی اوریکلز: ایک جامع جائزہ](https://medium.com/fabric-ventures/decentralised-oracles-a-comprehensive-overview-d3168b9a8841) — _Julien Thevenard_ +- [Ethereum پر ایک بلاک چین اوریکل کا نفاذ](https://medium.com/@pedrodc/implementing-a-blockchain-oracle-on-ethereum-cedc7e26b49e) – _Pedro Costa_ +- [اسمارٹ کنٹریکٹس API کالز کیوں نہیں کر سکتے؟](https://ethereum.stackexchange.com/questions/301/why-cant-contracts-make-api-calls) — _StackExchange_ +- [تو آپ ایک قیمت اوریکل استعمال کرنا چاہتے ہیں](https://samczsun.com/so-you-want-to-use-a-price-oracle/) — _samczsun_ + +**ویڈیوز** + +- [اوریکلز اور بلاک چین یوٹیلیٹی کی توسیع](https://youtu.be/BVUZpWa8vpw) — _Real Vision Finance_ + +**ٹیوٹوریلز** + +- [Solidity میں Ethereum کی موجودہ قیمت کیسے حاصل کریں](https://blog.chain.link/fetch-current-crypto-price-data-solidity/) — _Chainlink_ +- [اوریکل ڈیٹا کا استعمال](https://docs.chroniclelabs.org/Developers/tutorials/Remix) — _Chronicle_ + +**بطور مثال پروجیکٹس** + +- [Solidity میں Ethereum کے لیے مکمل Chainlink اسٹارٹر پروجیکٹ](https://github.com/hackbg/chainlink-fullstack) — _HackBG_ diff --git a/public/content/translations/ur/developers/docs/programming-languages/dart/index.md b/public/content/translations/ur/developers/docs/programming-languages/dart/index.md new file mode 100644 index 00000000000..897c43d234d --- /dev/null +++ b/public/content/translations/ur/developers/docs/programming-languages/dart/index.md @@ -0,0 +1,32 @@ +--- +title: "ڈارٹ ڈیولپرز کے لیے ایتھریم" +description: "ڈارٹ زبان کا استعمال کرتے ہوئے ایتھریم کے لیے ڈیولپ کرنے کا طریقہ سیکھیں" +lang: ur-in +incomplete: true +--- + +## اسمارٹ کنٹریکٹس اور Solidity زبان کے ساتھ شروعات کرنا {#getting-started-with-smart-contracts-and-solidity} + +## ٹیوٹوریلز {#tutorials} + +- [فلوٹر اور بلاک چین – ہیلو ورلڈ Dapp](https://www.geeksforgeeks.org/flutter-and-blockchain-hello-world-dapp/) شروع کرنے کے لیے آپ کو تمام مراحل سے گزارتا ہے: + 1. [Solidity](https://soliditylang.org/) میں ایک اسمارٹ کنٹریکٹ لکھنا + 2. ڈارٹ میں یوزر انٹرفیس لکھنا +- [فلوٹر کے ساتھ ایک موبائل dapp بنانا](https://medium.com/dash-community/building-a-mobile-dapp-with-flutter-be945c80315a) بہت چھوٹا ہے، جو بہتر ہو سکتا ہے + اگر آپ پہلے سے ہی بنیادی باتیں جانتے ہیں +- اگر آپ ویڈیو دیکھ کر سیکھنا پسند کرتے ہیں، تو آپ [Build Your First Blockchain Flutter App](https://www.youtube.com/watch?v=3Eeh3pJ6PeA) دیکھ سکتے ہیں، جو تقریباً ایک گھنٹے طویل ہے +- اگر آپ بے صبر ہیں، تو آپ [Building a Blockchain Decentralized-app with Flutter and Dart on Ethereum](https://www.youtube.com/watch?v=jaMFEOCq_1s) کو ترجیح دے سکتے ہیں، جو صرف بیس منٹ کا ہے +- [والٹ کنیکٹ کے ذریعے Web3Modal کے ساتھ فلوٹر ایپلیکیشن میں MetaMask کو انٹیگریٹ کرنا](https://www.youtube.com/watch?v=v_M2buHCpc4) - یہ مختصر ویڈیو آپ کو والٹ کنیکٹ کی [Web3Modal](https://pub.dev/packages/web3modal_flutter) لائبریری کے ساتھ اپنے فلوٹر ایپلی کیشنز میں میٹا ماسک کو انٹیگریٹ کرنے کے مراحل سے گزارتا ہے۔ +- [سولیڈٹی اور فلوٹر کے ساتھ موبائل بلاک چین ڈیولپر بوٹ کیمپ کورس](https://youtube.com/playlist?list=PL4V4Unlk5luhQ26ERO6hWEbcUwHDSSmVH) - فُل اسٹیک موبائل بلاک چین ڈیولپر کورس پلے لسٹ + +## ایتھریم کلائنٹس کے ساتھ کام کرنا {#working-with-ethereum-clients} + +آپ ایتھریم کا استعمال غیر مرکزی ایپلی کیشنز (یا "dapps") بنانے کے لیے کر سکتے ہیں جو کرپٹو کرنسی اور بلاک چین ٹیکنالوجی کے فوائد کا استعمال کرتی ہیں۔ +ڈارٹ کے لیے کم از کم دو موجودہ مینٹین کردہ لائبریریاں ہیں جو ایتھریم کے لیے +[JSON-RPC API](/developers/docs/apis/json-rpc/) کا استعمال کرتی ہیں۔ + +1. [pwa.ir سے Web3dart](https://pub.dev/packages/web3dart) +2. [darticulate.com سے ایتھریم 5.0.0](https://pub.dev/packages/ethereum) + +اضافی لائبریریاں بھی ہیں جو آپ کو مخصوص ایتھریم پتوں میں ہیرا پھیری کرنے کی اجازت دیتی ہیں، یا جو آپ کو مختلف کرپٹو کرنسیوں کی قیمتیں حاصل کرنے دیتی ہیں۔ +[آپ پوری فہرست یہاں دیکھ سکتے ہیں](https://pub.dev/dart/packages?q=ethereum)۔ diff --git a/public/content/translations/ur/developers/docs/programming-languages/delphi/index.md b/public/content/translations/ur/developers/docs/programming-languages/delphi/index.md new file mode 100644 index 00000000000..8eacf64fdfd --- /dev/null +++ b/public/content/translations/ur/developers/docs/programming-languages/delphi/index.md @@ -0,0 +1,56 @@ +--- +title: "ڈیلفی ڈیولپرز کے لیے ایتھریم" +description: "ڈیلفی پروگرامنگ زبان کا استعمال کرتے ہوئے ایتھریم کے لیے ڈیولپ کرنا سیکھیں" +lang: ur-in +incomplete: true +--- + + + +ڈیلفی پروگرامنگ زبان کا استعمال کرتے ہوئے ایتھریم کے لیے ڈیولپ کرنا سیکھیں + + + +غیر مرکزی ایپلی کیشنز (یا "dapps") بنانے کے لیے Ethereum کا استعمال کریں جو کرپٹو کرنسی اور بلاک چین ٹیکنالوجی کے فوائد کا استعمال کرتی ہیں۔ یہ dapps قابل اعتماد ہو سکتی ہیں، یعنی ایک بار جب انہیں Ethereum پر ڈیپلائے کر دیا جاتا ہے، تو وہ ہمیشہ پروگرام کے مطابق چلیں گی۔ وہ نئی قسم کی مالیاتی ایپلی کیشنز بنانے کے لیے ڈیجیٹل اثاثوں کو کنٹرول کر سکتی ہیں۔ وہ غیر مرکزی ہو سکتی ہیں، یعنی کوئی واحد ادارہ یا شخص انہیں کنٹرول نہیں کرتا ہے اور انہیں سنسر کرنا تقریباً ناممکن ہے۔ + +ڈیلفی پروگرامنگ زبان کا استعمال کرتے ہوئے ایتھریم پر غیر مرکزی ایپلیکیشنز بنائیں اور اسمارٹ معاہدوں کے ساتھ تعامل کریں! + +## اسمارٹ کانٹریکٹس اور Solidity زبان کے ساتھ شروعات کرنا {#getting-started-with-smart-contracts-and-the-solidity-language} + +**ایتھریم کے ساتھ ڈیلفی کو انٹیگریٹ کرنے کی جانب اپنے پہلے قدم اٹھائیں** + +پہلے مزید بنیادی پرائمر کی ضرورت ہے؟ [ethereum.org/learn](/learn/) یا [ethereum.org/developers](/developers/) دیکھیں۔ + +- [بلاک چین کی وضاحت](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained) +- [اسمارٹ کنٹریکٹس کو سمجھنا](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract) +- [اپنا پہلا اسمارٹ کنٹریکٹ لکھیں](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract) +- [Solidity کو کمپائل اور ڈیپلائے کرنے کا طریقہ سیکھیں](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment) + +## ابتدائی حوالہ جات اور لنکس {#beginner-references-and-links} + +**ڈیلفیریم لائبریری کا تعارف** + +- [ڈیلفیریم کیا ہے؟](https://github.com/svanas/delphereum/blob/master/README.md) +- [ڈیلفی کو مقامی (اِن-میموری) بلاک چین سے جوڑنا](https://medium.com/@svanas/connecting-delphi-to-a-local-in-memory-blockchain-9a1512d6c5b0) +- [ڈیلفی کو ایتھریم مین نیٹ سے جوڑنا](https://medium.com/@svanas/connecting-delphi-to-the-ethereum-main-net-5faf1feffd83) +- [ڈیلفی کو اسمارٹ معاہدوں سے جوڑنا](https://medium.com/@svanas/connecting-delphi-to-smart-contracts-3146b12803a1) + +**کیا آپ ابھی کے لیے سیٹ اپ کو چھوڑنا چاہتے ہیں، اور سیدھے نمونوں پر جانا چاہتے ہیں؟** + +- [3 منٹ کا ایک اسمارٹ معاہدہ اور ڈیلفی - حصہ 1](https://medium.com/@svanas/a-3-minute-smart-contract-and-delphi-61d998571d) +- [3 منٹ کا ایک اسمارٹ معاہدہ اور ڈیلفی - حصہ 2](https://medium.com/@svanas/a-3-minute-smart-contract-and-delphi-part-2-446925faa47b) + +## درمیانی سطح کے مضامین {#intermediate-articles} + +- [ڈیلفی میں ایتھریم سے دستخط شدہ پیغام کا سگنیچر بنانا](https://medium.com/@svanas/generating-an-ethereum-signed-message-signature-in-delphi-75661ce5031b) +- [ڈیلفی کے ساتھ ایتھر منتقل کرنا](https://medium.com/@svanas/transferring-ether-with-delphi-b5f24b1a98a4) +- [ڈیلفی کے ساتھ ERC-20 ٹوکنز منتقل کرنا](https://medium.com/@svanas/transferring-erc-20-tokens-with-delphi-bb44c05b295d) + +## استعمال کے جدید پیٹرن {#advanced-use-patterns} + +- [ڈیلفی اور ایتھریم نیم سروس (ENS)](https://medium.com/@svanas/delphi-and-ethereum-name-service-ens-4443cd278af7) +- [کوئک نوڈ، ایتھریم اور ڈیلفی](https://medium.com/@svanas/quiknode-ethereum-and-delphi-f7bfc9671c23) +- [ڈیلفی اور ایتھریم ڈارک فاریسٹ](https://svanas.medium.com/delphi-and-the-ethereum-dark-forest-5b430da3ad93) +- [ڈیلفی میں ایک ٹوکن کو دوسرے سے سویپ کرنا](https://svanas.medium.com/swap-one-token-for-another-in-delphi-bcb999c47f7) + +مزید وسائل کی تلاش ہے؟ [ethereum.org/developers](/developers/) دیکھیں۔ diff --git a/public/content/translations/ur/developers/docs/programming-languages/dot-net/index.md b/public/content/translations/ur/developers/docs/programming-languages/dot-net/index.md new file mode 100644 index 00000000000..42382547f47 --- /dev/null +++ b/public/content/translations/ur/developers/docs/programming-languages/dot-net/index.md @@ -0,0 +1,86 @@ +--- +title: ".NET ڈیولپرز کے لیے ایتھریم" +description: ".NET پر مبنی پروجیکٹس اور ٹولنگ کا استعمال کرتے ہوئے ایتھریم کے لیے ڈیولپ کرنے کا طریقہ سیکھیں۔" +lang: ur-in +incomplete: true +--- + +.NET پر مبنی پروجیکٹس اور ٹولنگ کا استعمال کرتے ہوئے ایتھریم کے لیے ڈیولپ کرنے کا طریقہ سیکھیں + +غیر مرکزی ایپلی کیشنز (یا "dapps") بنانے کے لیے Ethereum کا استعمال کریں جو کرپٹو کرنسی اور بلاک چین ٹیکنالوجی کے فوائد کا استعمال کرتی ہیں۔ یہ dapps قابل اعتماد ہو سکتی ہیں، یعنی ایک بار جب انہیں Ethereum پر ڈیپلائے کر دیا جاتا ہے، تو وہ ہمیشہ پروگرام کے مطابق چلیں گی۔ وہ نئی قسم کی مالیاتی ایپلی کیشنز بنانے کے لیے ڈیجیٹل اثاثوں کو کنٹرول کر سکتی ہیں۔ وہ غیر مرکزی ہو سکتی ہیں، یعنی کوئی واحد ادارہ یا شخص انہیں کنٹرول نہیں کرتا ہے اور انہیں سنسر کرنا تقریباً ناممکن ہے۔ + +Microsoft ٹیکنالوجی اسٹیک کے ٹولز اور زبانوں کا استعمال کرتے ہوئے ایتھریم کے اوپر ڈی سینٹرلائزڈ ایپلیکیشنز بنائیں اور اسمارٹ کانٹریکٹس کے ساتھ تعامل کریں - VSCode اور Visual Studio جیسے ٹولنگ پر، .NET Framework/.NET Core/.NET Standard میں C#، # Visual Basic .NET، F# کو سپورٹ کرنا۔ Microsoft Azure Blockchain کا استعمال کرتے ہوئے منٹوں میں Azure پر ایتھریم بلاک چین ڈیپلائے کریں۔ .NET کا پیار ایتھریم میں لائیں! + +## اسمارٹ کانٹریکٹس اور Solidity زبان کے ساتھ شروعات کرنا {#getting-started-with-smart-contracts-and-the-solidity-language} + +**.NET کو ایتھریم کے ساتھ انٹیگریٹ کرنے کے لیے اپنے پہلے قدم اٹھائیں** + +پہلے مزید بنیادی پرائمر کی ضرورت ہے؟ [ethereum.org/learn](/learn/) یا [ethereum.org/developers](/developers/) دیکھیں۔ + +- [بلاک چین کی وضاحت](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained) +- [اسمارٹ کنٹریکٹس کو سمجھنا](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract) +- [اپنا پہلا اسمارٹ کنٹریکٹ لکھیں](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract) +- [Solidity کو کمپائل اور ڈیپلائے کرنے کا طریقہ سیکھیں](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment) + +## ابتدائی حوالہ جات اور لنکس {#beginner-references-and-links} + +**Nethereum لائبریری اور VS Code Solidity کا تعارف** + +- [Nethereum، شروعات کرنا](https://docs.nethereum.com/en/latest/getting-started/) +- [VS Code Solidity انسٹال کرنا](https://marketplace.visualstudio.com/items?itemName=JuanBlanco.solidity) +- [ایتھریم اسمارٹ کانٹریکٹس بنانے اور کال کرنے کے لیے ایک .NET ڈیولپر کا ورک فلو](https://medium.com/coinmonks/a-net-developers-workflow-for-creating-and-calling-ethereum-smart-contracts-44714f191db2) +- [Nethereum کے ساتھ اسمارٹ کانٹریکٹس کا انٹیگریشن](https://kauri.io/#collections/Getting%20Started/smart-contracts-integration-with-nethereum/#smart-contracts-integration-with-nethereumm) +- [Nethereum کے ساتھ .NET اور ایتھریم بلاک چین اسمارٹ کانٹریکٹس کا انٹرفیس کرنا](https://medium.com/my-blockchain-development-daily-journey/interfacing-net-and-ethereum-blockchain-smart-contracts-with-nethereum-2fa3729ac933), [中文版](https://medium.com/my-blockchain-development-daily-journey/%E4%BD%BF%E7%94%A8nethereum%E9%80%A3%E6%8E%A5-net%E5%92%8C%E4%BB%A5%E5%A4%AA%E7%B6%B2%E5%8D%80%E5%A1%8A%E9%8F%88%E6%99%BA%E8%83%BD%E5%90%88%E7%B4%84-4a96d35ad1e1) میں بھی +- [Nethereum - بلاک چین کے لیے ایک اوپن سورس .NET انٹیگریشن لائبریری](https://kauri.io/#collections/a%20hackathon%20survival%20guide/nethereum-an-open-source-.net-integration-library/) +- [Nethereum کا استعمال کرتے ہوئے SQL ڈیٹا بیس میں ایتھریم ٹرانزیکشنز لکھنا](https://medium.com/coinmonks/writing-ethereum-transactions-to-sql-database-using-nethereum-fd94e0e4fa36) +- [دیکھیں کہ C# اور VisualStudio کا استعمال کرتے ہوئے آسانی سے ایتھریم اسمارٹ کانٹریکٹس کیسے ڈیپلائے کیے جائیں](https://koukia.ca/deploy-ethereum-smart-contracts-using-c-and-visualstudio-5be188ae928c) + +**کیا آپ ابھی کے لیے سیٹ اپ کو چھوڑنا چاہتے ہیں، اور سیدھے نمونوں پر جانا چاہتے ہیں؟** + +- [پلے گراؤنڈ](http://playground.nethereum.com/) - ایتھریم کے ساتھ تعامل کریں اور براؤزر کے ذریعے Nethereum استعمال کرنے کا طریقہ سیکھیں۔ + - اکاؤنٹ بیلنس کی کوئری کریں [C#](http://playground.nethereum.com/csharp/id/1001) [VB.NET](http://playground.nethereum.com/vb/id/2001) + - ERC20 اسمارٹ کانٹریکٹ بیلنس کی کوئری کریں [C#](http://playground.nethereum.com/csharp/id/1005) [VB.NET](http://playground.nethereum.com/vb/id/2004) + - ایک اکاؤنٹ میں ایتھر منتقل کریں [C#](http://playground.nethereum.com/csharp/id/1003) [VB.NET](http://playground.nethereum.com/vb/id/2003) + - ... اور بھی بہت کچھ! + +## درمیانی سطح کے مضامین {#intermediate-articles} + +- [Nethereum ورک بک/سیمپل کی فہرست](http://docs.nethereum.com/en/latest/Nethereum.Workbooks/docs/) +- [اپنے ڈیولپمنٹ ٹیسٹ چینز ڈیپلائے کریں](https://github.com/Nethereum/Testchains) +- [Solidity کے لیے VSCode Codegen پلگ ان](https://docs.nethereum.com/en/latest/nethereum-codegen-vscodesolidity/) +- [Unity اور ایتھریم: کیوں اور کیسے](https://www.raywenderlich.com/5509-unity-and-ethereum-why-and-how) +- [ایتھریم dapps کے لیے ASP.NET Core Web API بنائیں](https://tech-mint.com/blockchain/create-asp-net-core-web-api-for-ethereum-dapps/) +- [سپلائی چین ٹریکنگ سسٹم کو لاگو کرنے کے لیے Nethereum Web3 کا استعمال](http://blog.pomiager.com/post/using-nethereum-web3-to-implement-a-supply-chain-traking-system4) +- [Nethereum بلاک پروسیسنگ](https://nethereum.readthedocs.io/en/latest/nethereum-block-processing-detail/)، [C# پلے گراؤنڈ سیمپل](http://playground.nethereum.com/csharp/id/1025) کے ساتھ +- [Nethereum ویب ساکٹ اسٹریمنگ](https://nethereum.readthedocs.io/en/latest/nethereum-subscriptions-streaming/) +- [Kaleido اور Nethereum](https://kaleido.io/kaleido-and-nethereum/) +- [Quorum اور Nethereum](https://github.com/Nethereum/Nethereum/blob/master/src/Nethereum.Quorum/README.md) + +## استعمال کے جدید پیٹرن {#advanced-use-patterns} + +- [Azure Key Vault اور Nethereum](https://github.com/Azure-Samples/bc-community-samples/tree/master/akv-nethereum) +- [Nethereum.DappHybrid](https://github.com/Nethereum/Nethereum.DappHybrid) +- [Ujo Nethereum بیک اینڈ ریفرنس آرکیٹیکچر](https://docs.nethereum.com/en/latest/nethereum-ujo-backend-sample/) + +## .NET پروجیکٹس، ٹولز اور دیگر دلچسپ چیزیں {#dot-net-projects-tools-and-other-fun-stuff} + +- [Nethereum پلے گراؤنڈ](http://playground.nethereum.com/) - _براؤزر میں Nethereum کوڈ کے ٹکڑوں کو کمپائل، تخلیق اور چلائیں_ +- [Nethereum Codegen Blazor](https://github.com/Nethereum/Nethereum.CodeGen.Blazor) - _Blazor میں UI کے ساتھ Nethereum codegen_ +- [Nethereum Blazor](https://github.com/Nethereum/NethereumBlazor) - _ایک .NET Wasm SPA لائٹ بلاک چین ایکسپلورر اور سادہ والیٹ_ +- [Wonka بزنس رولز انجن](https://docs.nethereum.com/en/latest/wonka/) - _ایک بزنس رولز انجن (.NET پلیٹ فارم اور ایتھریم پلیٹ فارم دونوں کے لیے) جو فطری طور پر میٹا ڈیٹا پر مبنی ہے_ +- [Nethermind](https://github.com/NethermindEth/nethermind) - _Linux، Windows، MacOS کے لیے ایک .NET Core ایتھریم کلائنٹ_ +- [eth-utils](https://github.com/ethereum/eth-utils/) - _Ethereum سے متعلقہ کوڈ بیس کے ساتھ کام کرنے کے لیے یوٹیلٹی فنکشنز_ +- [TestChains](https://github.com/Nethereum/TestChains) - _تیز ردعمل (PoA) کے لیے پہلے سے کنفیگر شدہ .NET devchains_ + +مزید وسائل کی تلاش ہے؟ [ethereum.org/developers](/developers/) دیکھیں۔ + +## .NET کمیونٹی کے تعاون کنندگان {#dot-net-community-contributors} + +Nethereum میں، ہم زیادہ تر [Gitter](https://gitter.im/Nethereum/Nethereum) پر وقت گزارتے ہیں جہاں ہر کوئی سوال پوچھنے/جواب دینے، مدد حاصل کرنے، یا صرف آرام کرنے کے لیے خوش آمدید ہے۔ [Nethereum GitHub repository](https://github.com/Nethereum) پر بلا جھجھک PR کریں یا کوئی مسئلہ کھولیں، یا ہمارے بہت سے سائیڈ/سیمپل پروجیکٹس کو براؤز کریں۔ آپ ہمیں [Discord](https://discord.gg/jQPrR58FxX) پر بھی تلاش کر سکتے ہیں! + +اگر آپ Nethermind میں نئے ہیں اور شروع کرنے میں مدد کی ضرورت ہے، تو ہمارے [Discord](http://discord.gg/PaCMRFdvWT) میں شامل ہوں۔ ہمارے ڈیولپرز آپ کے سوالات کا جواب دینے کے لیے موجود ہیں۔ [Nethermind GitHub repository](https://github.com/NethermindEth/nethermind) پر PR کھولنے یا کوئی بھی مسئلہ اٹھانے میں ہچکچاہٹ محسوس نہ کریں۔ + +## دیگر مجموعی فہرستیں {#other-aggregated-lists} + +[سرکاری Nethereum سائٹ](https://nethereum.com/) +[سرکاری Nethermind سائٹ](https://nethermind.io/) diff --git a/public/content/translations/ur/developers/docs/programming-languages/elixir/index.md b/public/content/translations/ur/developers/docs/programming-languages/elixir/index.md new file mode 100644 index 00000000000..f1cc1495707 --- /dev/null +++ b/public/content/translations/ur/developers/docs/programming-languages/elixir/index.md @@ -0,0 +1,55 @@ +--- +title: "Elixir ڈویلپرز کے لیے Ethereum" +description: "جانیں کہ Elixir پر مبنی پروجیکٹس اور ٹولنگ کا استعمال کرتے ہوئے Ethereum کے لیے کیسے ڈیولپ کریں۔" +lang: ur-in +incomplete: false +--- + +جانیں کہ Elixir پر مبنی پروجیکٹس اور ٹولنگ کا استعمال کرتے ہوئے Ethereum کے لیے کیسے ڈیولپ کریں۔ + +غیر مرکزی ایپلی کیشنز (یا "dapps") بنانے کے لیے Ethereum کا استعمال کریں جو کرپٹو کرنسی اور بلاک چین ٹیکنالوجی کے فوائد کا استعمال کرتی ہیں۔ یہ dapps ٹرسٹ لیس ہو سکتے ہیں، جس کا مطلب ہے کہ ایک بار جب انہیں Ethereum پر ڈیپلائے کر دیا جاتا ہے، تو وہ ہمیشہ پروگرام کے مطابق ہی چلیں گے۔ وہ نئی قسم کی مالیاتی ایپلی کیشنز بنانے کے لیے ڈیجیٹل اثاثوں کو کنٹرول کر سکتے ہیں۔ وہ غیر مرکزی ہو سکتی ہیں، یعنی کوئی واحد ادارہ یا شخص انہیں کنٹرول نہیں کرتا ہے اور انہیں سنسر کرنا تقریباً ناممکن ہے۔ + +## اسمارٹ کنٹریکٹس اور Solidity زبان کے ساتھ شروعات کرنا {#getting-started-with-smart-contracts-and-solidity} + +**Elixir کو Ethereum کے ساتھ انٹیگریٹ کرنے کے لیے اپنے پہلے قدم اٹھائیں** + +پہلے مزید بنیادی پرائمر کی ضرورت ہے؟ [ethereum.org/learn](/learn/) یا [ethereum.org/developers](/developers/) دیکھیں۔ + +- [بلاک چین کی وضاحت](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained) +- [اسمارٹ کنٹریکٹس کو سمجھنا](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract) +- [اپنا پہلا اسمارٹ کنٹریکٹ لکھیں](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract) +- [Solidity کو کمپائل اور ڈیپلائے کرنے کا طریقہ سیکھیں](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment) + +## ابتدائی مضامین {#beginner-articles} + +- [بالآخر Ethereum اکاؤنٹس کو سمجھنا](https://dev.to/q9/finally-understanding-ethereum-accounts-1kpe) +- [Ethers — Elixir کے لیے ایک فرسٹ کلاس Ethereum Web3 لائبریری](https://medium.com/@alisinabh/announcing-ethers-a-first-class-ethereum-web3-library-for-elixir-1d64e9409122) + +## درمیانی سطح کے مضامین {#intermediate-articles} + +- [Elixir کے ساتھ خام Ethereum کنٹریکٹ ٹرانزیکشنز پر کیسے دستخط کریں](https://kohlerjp.medium.com/how-to-sign-raw-ethereum-contract-transactions-with-elixir-f8822bcc813b) +- [Ethereum اسمارٹ کنٹریکٹس اور Elixir](https://medium.com/agile-alpha/ethereum-smart-contracts-and-elixir-c7c4b239ddb4) + +## Elixir پروجیکٹس اور ٹولز {#elixir-projects-and-tools} + +### فعال {#active} + +- [block_keys](https://github.com/ExWeb3/block_keys) - _Elixir میں BIP32 اور BIP44 کا نفاذ (ڈیٹرمینسٹک والیٹس کے لیے ملٹی اکاؤنٹ ہائرارکی)_ +- [ethereumex](https://github.com/mana-ethereum/ethereumex) - _Ethereum بلاک چین کے لیے Elixir JSON-RPC کلائنٹ_ +- [ethers](https://github.com/ExWeb3/elixir_ethers) - _Elixir کا استعمال کرتے ہوئے Ethereum پر اسمارٹ کنٹریکٹس کے ساتھ تعامل کے لیے ایک جامع Web3 لائبریری_ +- [ethers_kms](https://github.com/ExWeb3/elixir_ethers_kms) - _Ethers کے لیے ایک KMS سائنر لائبریری (AWS KMS کے ساتھ ٹرانزیکشنز پر دستخط کریں)_ +- [ex_abi](https://github.com/poanetwork/ex_abi) - _Elixir میں Ethereum ABI پارسر/ڈیکوڈر/اینکوڈر کا نفاذ_ +- [ex_keccak](https://github.com/ExWeb3/ex_keccak) - _ایک NIF بلٹ ٹائنی-کیکک رسٹ کریٹ کا استعمال کرتے ہوئے Keccak SHA3-256 ہیشز کا حساب لگانے کے لیے Elixir لائبریری_ +- [ex_rlp](https://github.com/mana-ethereum/ex_rlp) - _Ethereum کی RLP (ریکرسیو لینتھ پریفکس) انکوڈنگ کا Elixir نفاذ_ + +### آرکائیو شدہ / اب برقرار نہیں رکھا گیا {#archived--no-longer-maintained} + +- [eth](https://hex.pm/packages/eth) - _Elixir کے لیے Ethereum یوٹیلیٹیز_ +- [exw3](https://github.com/hswick/exw3) - _Elixir کے لیے اعلی سطح کا Ethereum RPC کلائنٹ_ +- [mana](https://github.com/mana-ethereum/mana) - _Elixir میں لکھا گیا Ethereum فل نوڈ کا نفاذ_ + +مزید وسائل کی تلاش ہے؟ [ہمارے ڈویلپرز کا ہوم](/developers/) دیکھیں۔ + +## Elixir کمیونٹی کے تعاون کنندگان {#elixir-community-contributors} + +[Elixir کا سلیک #ethereum چینل](https://elixir-lang.slack.com/archives/C5RPZ3RJL) تیزی سے بڑھتی ہوئی کمیونٹی کی میزبانی کرتا ہے اور مذکورہ بالا کسی بھی پروجیکٹ اور متعلقہ موضوعات پر بات چیت کے لیے ایک وقف شدہ وسیلہ ہے۔ diff --git a/public/content/translations/ur/developers/docs/programming-languages/golang/index.md b/public/content/translations/ur/developers/docs/programming-languages/golang/index.md new file mode 100644 index 00000000000..23ff87c1040 --- /dev/null +++ b/public/content/translations/ur/developers/docs/programming-languages/golang/index.md @@ -0,0 +1,84 @@ +--- +title: "Go ڈیولپرز کے لیے ایتھریم" +description: "Go پر مبنی پروجیکٹس اور ٹولنگ کا استعمال کرتے ہوئے ایتھریم کے لیے ڈیولپ کرنے کا طریقہ سیکھیں" +lang: ur-in +incomplete: true +--- + +Go پر مبنی پروجیکٹس اور ٹولنگ کا استعمال کرتے ہوئے ایتھریم کے لیے ڈیولپ کرنے کا طریقہ سیکھیں + +غیر مرکزی ایپلی کیشنز (یا "dapps") بنانے کے لیے ایتھریم کا استعمال کریں۔ یہ dapps قابل اعتماد ہو سکتی ہیں، یعنی ایک بار جب انہیں Ethereum پر ڈیپلائے کر دیا جاتا ہے، تو وہ ہمیشہ پروگرام کے مطابق چلیں گی۔ وہ غیر مرکزی ہیں، یعنی وہ پیئر ٹو پیئر نیٹ ورک پر چلتے ہیں اور ناکامی کا کوئی واحد نقطہ نہیں ہے۔ کوئی واحد ادارہ یا شخص انہیں کنٹرول نہیں کرتا ہے اور انہیں سنسر کرنا تقریباً ناممکن ہے۔ وہ نئی قسم کی ایپلی کیشنز بنانے کے لیے ڈیجیٹل اثاثوں کو کنٹرول کر سکتے ہیں۔ + +## اسمارٹ کنٹریکٹس اور Solidity زبان کے ساتھ شروعات کرنا {#getting-started-with-smart-contracts-and-solidity} + +**Go کو ایتھریم کے ساتھ مربوط کرنے کے لیے اپنے پہلے اقدامات کریں** + +پہلے مزید بنیادی پرائمر کی ضرورت ہے؟ [ethereum.org/learn](/learn/) یا [ethereum.org/developers](/developers/) دیکھیں۔ + +- [بلاک چین کی وضاحت](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained) +- [اسمارٹ کنٹریکٹس کو سمجھنا](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract) +- [اپنا پہلا اسمارٹ کنٹریکٹ لکھیں](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract) +- [Solidity کو کمپائل اور ڈیپلائے کرنے کا طریقہ سیکھیں](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment) +- [کنٹریکٹ ٹیوٹوریل](https://github.com/ethereum/go-ethereum/wiki/Contract-Tutorial) + +## ابتدائی مضامین اور کتابیں {#beginner-articles-and-books} + +- [Geth کے ساتھ شروعات کرنا](https://medium.com/@tzhenghao/getting-started-with-geth-c1a30b8d6458) +- [ایتھریم سے منسلک ہونے کے لیے Golang کا استعمال کریں](https://www.youtube.com/watch?v=-7uChuO_VzM) +- [Golang کا استعمال کرتے ہوئے ایتھریم اسمارٹ کنٹریکٹس کو ڈیپلائے کریں](https://www.youtube.com/watch?v=pytGqQmDslE) +- [Go میں ایتھریم اسمارٹ کنٹریکٹس کی جانچ اور ڈیپلائے کرنے کے لیے ایک مرحلہ وار گائیڈ](https://hackernoon.com/a-step-by-step-guide-to-testing-and-deploying-ethereum-smart-contracts-in-go-9fc34b178d78) +- [ای بک: Go کے ساتھ ایتھریم ڈیولپمنٹ](https://goethereumbook.org/) - _Go کے ساتھ ایتھریم ایپلی کیشنز ڈیولپ کریں_ + +## انٹرمیڈیٹ مضامین اور دستاویزات {#intermediate-articles-and-docs} + +- [Go Ethereum کی دستاویزات](https://geth.ethereum.org/docs/) - _آفیشل Ethereum Golang کے لیے دستاویزات_ +- [Erigon پروگرامر کی گائیڈ](https://github.com/ledgerwatch/erigon/blob/devel/docs/programmers_guide/guide.md) - _اسٹیٹ ٹری، ملٹی پروفس، اور ٹرانزیکشن پروسیسنگ سمیت تصویری گائیڈ_ +- [Erigon اور اسٹیٹ لیس ایتھریم](https://youtu.be/3-Mn7OckSus?t=394) - _2020 ایتھریم کمیونٹی کانفرنس (EthCC 3)_ +- [Erigon: ایتھریم کلائنٹس کو بہتر بنانا](https://www.youtube.com/watch?v=CSpc1vZQW2Q) - _2018 Devcon 4_ +- [Go Ethereum GoDoc](https://godoc.org/github.com/ethereum/go-ethereum) +- [Geth کے ساتھ Go میں ایک dapp بنانا](https://kauri.io/#collections/A%20Hackathon%20Survival%20Guide/creating-a-dapp-in-go-with-geth/) +- [Golang اور Geth کے ساتھ ایتھریم پرائیویٹ نیٹ ورک کے ساتھ کام کریں](https://myhsts.org/tutorial-learn-how-to-work-with-ethereum-private-network-with-golang-with-geth.php) +- [Go کے ساتھ ایتھریم پر Solidity کنٹریکٹس کی یونٹ ٹیسٹنگ](https://medium.com/coinmonks/unit-testing-solidity-contracts-on-ethereum-with-go-3cc924091281) +- [Geth کو لائبریری کے طور پر استعمال کرنے کے لیے فوری حوالہ](https://medium.com/coinmonks/web3-go-part-1-31c68c68e20e) + +## استعمال کے جدید پیٹرن {#advanced-use-patterns} + +- [GETH سمیولیٹڈ بیک اینڈ](https://kauri.io/#collections/An%20ethereum%20test%20toolkit%20in%20Go/the-geth-simulated-backend/#_top) +- [ایتھریم اور Quorum کا استعمال کرتے ہوئے بلاک چین-ایز-اے-سروس ایپس](https://blockchain.dcwebmakers.com/blockchain-as-a-service-apps-using-ethereum-and-quorum.html) +- [ایتھریم بلاک چین ایپلی کیشنز میں ڈسٹری بیوٹیڈ اسٹوریج IPFS اور Swarm](https://blockchain.dcwebmakers.com/work-with-distributed-storage-ipfs-and-swarm-in-ethereum.html) +- [موبائل کلائنٹس: لائبریریز اور انپراک ایتھریم نوڈس](https://github.com/ethereum/go-ethereum/wiki/Mobile-Clients:-Libraries-and-Inproc-Ethereum-Nodes) +- [نیٹیو dapps: ایتھریم کنٹریکٹس کے لیے Go بائنڈنگز](https://github.com/ethereum/go-ethereum/wiki/Native-DApps:-Go-bindings-to-Ethereum-contracts) + +## Go پروجیکٹس اور ٹولز {#go-projects-and-tools} + +- [Geth / Go Ethereum](https://github.com/ethereum/go-ethereum) - _ایتھریم پروٹوکول کا آفیشل Go نفاذ_ +- [Go Ethereum کوڈ کا تجزیہ](https://github.com/ZtesoftCS/go-ethereum-code-analysis) - _Go Ethereum سورس کوڈ کا جائزہ اور تجزیہ_ +- [Erigon](https://github.com/ledgerwatch/erigon) - _Go Ethereum کا تیز ترین ڈیریویٹیو، آرکائیو نوڈس پر توجہ کے ساتھ_ +- [Golem](https://github.com/golemfactory/golem) - _Golem کمپیوٹنگ پاور کے لیے ایک عالمی مارکیٹ بنا رہا ہے_ +- [Quorum](https://github.com/jpmorganchase/quorum) - _ایتھریم کا ایک اجازت یافتہ نفاذ جو ڈیٹا کی رازداری کو سپورٹ کرتا ہے_ +- [Prysm](https://github.com/prysmaticlabs/prysm) - _ایتھریم 'Serenity' 2.0 Go کا نفاذ_ +- [Eth Tweet](https://github.com/yep/eth-tweet) - _غیر مرکزی ٹویٹر: ایتھریم بلاک چین پر چلنے والی ایک مائیکرو بلاگنگ سروس_ +- [Plasma MVP Golang](https://github.com/kyokan/plasma) — _کم از کم قابل عمل پلازما کی تفصیلات کا Golang نفاذ اور توسیع_ +- [اوپن ایتھریم مائننگ پول](https://github.com/sammy007/open-ethereum-pool) - _ایک اوپن سورس ایتھریم مائننگ پول_ +- [ایتھریم HD والیٹ](https://github.com/miguelmota/go-ethereum-hdwallet) - _Go میں ایتھریم HD والیٹ ڈیریویشنز_ +- [ملٹی Geth](https://github.com/multi-geth/multi-geth) - _ایتھریم نیٹ ورکس کی کئی اقسام کے لیے سپورٹ_ +- [Geth لائٹ کلائنٹ](https://github.com/zsfelfoldi/go-ethereum/wiki/Geth-Light-Client) - _لائٹ ایتھریم سب پروٹوکول کا Geth نفاذ_ +- [ایتھریم Golang SDK](https://github.com/everFinance/goether) - _Golang میں ایک سادہ ایتھریم والیٹ کا نفاذ اور یوٹیلیٹیز_ +- [Covalent Golang SDK](https://github.com/covalenthq/covalent-api-sdk-go) - _200+ بلاک چینز کے لیے Go SDK کے ذریعے موثر بلاک چین ڈیٹا تک رسائی_ + +مزید وسائل کی تلاش ہے؟ [ethereum.org/developers](/developers/) دیکھیں + +## Go کمیونٹی کے تعاون کنندگان {#go-community-contributors} + +- [Geth Discord](https://discordapp.com/invite/nthXNEv) +- [Geth Gist](https://gitter.im/ethereum/go-ethereum) +- [Gophers Slack](https://invite.slack.golangbridge.org/) - [#ethereum چینل](https://gophers.slack.com/messages/C9HP1S9V2) +- [StackExchange - ایتھریم](https://ethereum.stackexchange.com/) +- [ملٹی Geth Gitter](https://gitter.im/ethoxy/multi-geth) +- [ایتھریم Gitter](https://gitter.im/ethereum/home) +- [Geth لائٹ کلائنٹ Gitter](https://gitter.im/ethereum/light-client) + +## دیگر مجموعی فہرستیں {#other-aggregated-lists} + +- [شاندار ایتھریم](https://github.com/btomashvili/awesome-ethereum) +- [Consensys: ایتھریم ڈیولپر ٹولز کی ایک حتمی فہرست](https://media.consensys.net/an-definitive-list-of-ethereum-developer-tools-2159ce865974) | [GitHub سورس](https://github.com/ConsenSys/ethereum-developer-tools-list) diff --git a/public/content/translations/ur/developers/docs/programming-languages/index.md b/public/content/translations/ur/developers/docs/programming-languages/index.md new file mode 100644 index 00000000000..acac642d4b3 --- /dev/null +++ b/public/content/translations/ur/developers/docs/programming-languages/index.md @@ -0,0 +1,33 @@ +--- +title: "پروگرامنگ لینگویجز" +description: "JavaScript، Python، Go، Rust، اور مزید سمیت مختلف پروگرامنگ زبانوں کے لیے ایتھیریم ڈیولپمنٹ کے وسائل دریافت کریں۔" +lang: ur-in +--- + +ایک عام غلط فہمی یہ ہے کہ ایتھیریم پر تعمیر کرنے کے لیے ڈیولپرز کو [smart contracts](/developers/docs/smart-contracts/) لکھنا ضروری ہے۔ یہ غلط ہے۔ +ایتھیریم نیٹ ورک اور کمیونٹی کی خوبیوں میں سے ایک یہ ہے کہ آپ تقریباً کسی بھی پروگرامنگ زبان میں [حصہ لے](/community/) سکتے ہیں۔ + +ایتھیریم اور اس کی کمیونٹی اوپن سورس کو اپناتے ہیں۔ آپ کمیونٹی پروجیکٹس - کلائنٹ امپلیمنٹیشنز، APIs، ڈیولپمنٹ فریم ورکس، ٹیسٹنگ ٹولز - بہت سی مختلف زبانوں میں تلاش کر سکتے ہیں۔ + +## اپنی زبان منتخب کریں {#data} + +پروجیکٹس، وسائل، اور ورچوئل کمیونٹیز تلاش کرنے کے لیے اپنی پسند کی پروگرامنگ زبان منتخب کریں: + +- [Dart ڈیولپرز کے لیے ایتھیریم](/developers/docs/programming-languages/dart/) +- [Delphi ڈیولپرز کے لیے ایتھیریم](/developers/docs/programming-languages/delphi/) +- [.NET ڈیولپرز کے لیے ایتھیریم](/developers/docs/programming-languages/dot-net/) +- [Elixir ڈیولپرز کے لیے ایتھیریم](/developers/docs/programming-languages/elixir/) +- [Go ڈیولپرز کے لیے ایتھیریم](/developers/docs/programming-languages/golang/) +- [Java ڈیولپرز کے لیے ایتھیریم](/developers/docs/programming-languages/java/) +- [JavaScript ڈیولپرز کے لیے ایتھیریم](/developers/docs/programming-languages/javascript/) +- [Python ڈیولپرز کے لیے ایتھیریم](/developers/docs/programming-languages/python/) +- [Ruby ڈیولپرز کے لیے ایتھیریم](/developers/docs/programming-languages/ruby/) +- [Rust ڈیولپرز کے لیے ایتھیریم](/developers/docs/programming-languages/rust/) + +### کیا ہوگا اگر میری زبان سپورٹ نہیں کی جاتی {#other-lang} + +اگر آپ کسی اضافی پروگرامنگ زبان کے لیے وسائل سے لنک کرنا یا ورچوئل کمیونٹی کی طرف اشارہ کرنا چاہتے ہیں تو آپ [ایک ایشو کھول کر](https://github.com/ethereum/ethereum-org-website/issues/new/choose) ایک نئے صفحے کی درخواست کر سکتے ہیں۔ + +اگر آپ صرف ایک ایسی زبان کا استعمال کرتے ہوئے بلاک چین کے ساتھ انٹرفیس کرنے کے لیے کوڈ لکھنا چاہتے ہیں جو فی الحال سپورٹ نہیں کی جاتی ہے +تو آپ ایتھیریم نیٹ ورک سے منسلک ہونے کے لیے [JSON-RPC انٹرفیس](/developers/docs/apis/json-rpc/) کا استعمال کر سکتے ہیں۔ کوئی بھی پروگرامنگ +زبان جو TCP/IP استعمال کر سکتی ہے وہ اس انٹرفیس کا استعمال کر سکتی ہے۔ diff --git a/public/content/translations/ur/developers/docs/programming-languages/java/index.md b/public/content/translations/ur/developers/docs/programming-languages/java/index.md new file mode 100644 index 00000000000..569f3c5f99d --- /dev/null +++ b/public/content/translations/ur/developers/docs/programming-languages/java/index.md @@ -0,0 +1,64 @@ +--- +title: "جاوا ڈیولپرز کے لیے ایتھیریم" +description: "جاوا پر مبنی پروجیکٹس اور ٹولنگ کا استعمال کرتے ہوئے ایتھیریم کے لیے ڈیولپ کرنا سیکھیں۔" +lang: ur-in +incomplete: true +--- + +جاوا پر مبنی پروجیکٹس اور ٹولنگ کا استعمال کرتے ہوئے ایتھیریم کے لیے ڈیولپ کرنا سیکھیں۔ + +غیر مرکزی ایپلی کیشنز (یا "dapps") بنانے کے لیے Ethereum کا استعمال کریں جو کرپٹو کرنسی اور بلاک چین ٹیکنالوجی کے فوائد کا استعمال کرتی ہیں۔ یہ dapps قابل اعتماد ہو سکتی ہیں، یعنی ایک بار جب انہیں Ethereum پر ڈیپلائے کر دیا جاتا ہے، تو وہ ہمیشہ پروگرام کے مطابق چلیں گی۔ وہ نئی قسم کی مالیاتی ایپلی کیشنز بنانے کے لیے ڈیجیٹل اثاثوں کو کنٹرول کر سکتی ہیں۔ وہ غیر مرکزی ہو سکتی ہیں، یعنی کوئی واحد ادارہ یا شخص انہیں کنٹرول نہیں کرتا ہے اور انہیں سنسر کرنا تقریباً ناممکن ہے۔ + +## اسمارٹ کنٹریکٹس اور Solidity زبان کے ساتھ شروعات کرنا {#getting-started-with-smart-contracts-and-solidity} + +**جاوا کو ایتھیریم کے ساتھ انٹیگریٹ کرنے کے لیے اپنے پہلے قدم اٹھائیں۔** + +پہلے مزید بنیادی پرائمر کی ضرورت ہے؟ [ethereum.org/learn](/learn/) یا [ethereum.org/developers.](/developers/) دیکھیں۔ + +- [بلاک چین کی وضاحت](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained) +- [اسمارٹ کنٹریکٹس کو سمجھنا](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract) +- [اپنا پہلا اسمارٹ کنٹریکٹ لکھیں](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract) +- [Solidity کو کمپائل اور ڈیپلائے کرنے کا طریقہ سیکھیں](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment) + +## ایتھریم کلائنٹس کے ساتھ کام کرنا {#working-with-ethereum-clients} + +دو معروف جاوا ایتھیریم کلائنٹس، [Web3J](https://github.com/web3j/web3j) اور Hyperledger Besu کا استعمال کرنا سیکھیں۔ + +- [جاوا، ایکلپس، اور Web3J کے ساتھ ایک ایتھیریم کلائنٹ سے کنیکٹ کرنا](https://kauri.io/article/b9eb647c47a546bc95693acc0be72546/connecting-to-an-ethereum-client-with-java-eclipse-and-web3j) +- [جاوا اور Web3j کے ساتھ ایک ایتھیریم اکاؤنٹ کا نظم کرنا](https://kauri.io/article/925d923e12c543da9a0a3e617be963b4/manage-an-ethereum-account-with-java-and-web3j) +- [اپنے اسمارٹ کنٹریکٹ سے ایک جاوا ریپر جنریٹ کرنا](https://kauri.io/article/84475132317d4d6a84a2c42eb9348e4b/generate-a-java-wrapper-from-your-smart-contract) +- [ایک ایتھیریم اسمارٹ کنٹریکٹ کے ساتھ تعامل کرنا](https://kauri.io/article/14dc434d11ef4ee18bf7d57f079e246e/interacting-with-an-ethereum-smart-contract-in-java) +- [ایتھیریم اسمارٹ کنٹریکٹ ایونٹس کو سننا](https://kauri.io/article/760f495423db42f988d17b8c145b0874/listening-for-ethereum-smart-contract-events-in-java) +- [بیسو (پینتھیون)، جاوا ایتھیریم کلائنٹ کا لینکس کے ساتھ استعمال](https://kauri.io/article/276dd27f1458443295eea58403fd6965/using-pantheon-the-java-ethereum-client-with-linux) +- [جاوا انٹیگریشن ٹیسٹس میں ایک ہائپرلیجر بیسو (پینتھیون) نوڈ چلانا](https://kauri.io/article/7dc3ecc391e54f7b8cbf4e5fa0caf780/running-a-pantheon-node-in-java-integration-tests) +- [Web3j چیٹ شیٹ](https://kauri.io/web3j-cheat-sheet-\(java-ethereum\)/5dfa1ea941ac3d0001ce1d90/c) + +[ethers-kt](https://github.com/Kr1ptal/ethers-kt) کا استعمال کرنا سیکھیں، جو EVM پر مبنی بلاک چینز کے ساتھ تعامل کے لیے ایک غیر مطابقت پذیر، اعلی کارکردگی والی کوٹلن لائبریری ہے۔ JVM اور اینڈرائڈ پلیٹ فارمز کو ہدف بنانا۔ + +- [ERC20 ٹوکنز منتقل کریں](https://github.com/Kr1ptal/ethers-kt/blob/master/examples/src/main/kotlin/io/ethers/examples/abi/TransferERC20.kt) +- [ایونٹ لسننگ کے ساتھ UniswapV2 سویپ](https://github.com/Kr1ptal/ethers-kt/blob/master/examples/src/main/kotlin/io/ethers/examples/tokenswapwitheventlistening/TokenSwapWithEventListening.kt) +- [ETH / ERC20 بیلنس ٹریکر](https://github.com/Kr1ptal/ethers-kt/blob/master/examples/src/main/kotlin/io/ethers/examples/balancetracker/BalanceTracker.kt) + +## درمیانی سطح کے مضامین {#intermediate-articles} + +- [IPFS کے ساتھ ایک جاوا ایپلیکیشن میں اسٹوریج کا نظم کرنا](https://kauri.io/article/3e8494f4f56f48c4bb77f1f925c6d926/managing-storage-in-a-java-application-with-ipfs) +- [Web3j کے ساتھ جاوا میں ERC20 ٹوکنز کا نظم کرنا](https://kauri.io/article/d13e911bbf624108b1d5718175a5e0a0/manage-erc20-tokens-in-java-with-web3j) +- [Web3j ٹرانزیکشن مینیجرز](https://kauri.io/article/4cb780bb4d0846438d11885a25b6d7e7/web3j-transaction-managers) + +## استعمال کے جدید پیٹرن {#advanced-use-patterns} + +- [ایک جاوا اسمارٹ کنٹریکٹ ڈیٹا کیشے بنانے کے لیے Eventeum کا استعمال کرنا](https://kauri.io/article/fe81ee9612eb4e5a9ab72790ef24283d/using-eventeum-to-build-a-java-smart-contract-data-cache) + +## جاوا پروجیکٹس اور ٹولز {#java-projects-and-tools} + +- [Web3J (ایتھیریم کلائنٹس کے ساتھ تعامل کے لیے لائبریری)](https://github.com/web3j/web3j) +- [ethers-kt (EVM پر مبنی بلاک چینز کے لیے غیر مطابقت پذیر، اعلی کارکردگی والی کوٹلن/جاوا/اینڈرائڈ لائبریری۔)](https://github.com/Kr1ptal/ethers-kt) +- [Eventeum (ایونٹ لسنر)](https://github.com/ConsenSys/eventeum) +- [Mahuta (IPFS ڈیولپمنٹ ٹولز)](https://github.com/ConsenSys/mahuta) + +مزید وسائل کی تلاش ہے؟ [ethereum.org/developers.](/developers/) دیکھیں + +## جاوا کمیونٹی کے معاونین {#java-community-contributors} + +- [IO Builders](https://io.builders) +- [Kauri](https://kauri.io) diff --git a/public/content/translations/ur/developers/docs/programming-languages/javascript/index.md b/public/content/translations/ur/developers/docs/programming-languages/javascript/index.md new file mode 100644 index 00000000000..3eb5c4ccd71 --- /dev/null +++ b/public/content/translations/ur/developers/docs/programming-languages/javascript/index.md @@ -0,0 +1,72 @@ +--- +title: "جاوا اسکرپٹ ڈیولپرز کے لیے Ethereum" +description: "جاوا اسکرپٹ پر مبنی پروجیکٹس اور ٹولنگ کا استعمال کرتے ہوئے Ethereum کے لیے ڈیولپ کرنے کا طریقہ سیکھیں۔" +lang: ur-in +--- + +جاوا اسکرپٹ Ethereum ایکو سسٹم کی سب سے مقبول زبانوں میں سے ایک ہے۔ درحقیقت، ایک [ٹیم](https://github.com/ethereumjs) موجود ہے جو زیادہ سے زیادہ Ethereum کو جاوا اسکرپٹ میں لانے کے لیے وقف ہے۔ + +[اسٹیک کے تمام لیولز پر](/developers/docs/ethereum-stack/) جاوا اسکرپٹ (یا اس سے ملتی جلتی کوئی چیز) لکھنے کے مواقع موجود ہیں۔ + +## Ethereum کے ساتھ تعامل کریں {#interact-with-ethereum} + +### جاوا اسکرپٹ API لائبریریاں {#javascript-api-libraries} + +اگر آپ بلاک چین کو کوئری کرنے، ٹرانزیکشنز بھیجنے اور مزید بہت کچھ کے لیے جاوا اسکرپٹ لکھنا چاہتے ہیں، تو ایسا کرنے کا سب سے آسان طریقہ [جاوا اسکرپٹ API لائبریری](/developers/docs/apis/javascript/) کا استعمال کرنا ہے۔ یہ APIs ڈیولپرز کو [Ethereum نیٹ ورک میں موجود نوڈز](/developers/docs/nodes-and-clients/) کے ساتھ آسانی سے تعامل کرنے کی اجازت دیتی ہیں۔ + +آپ Ethereum پر اسمارٹ کنٹریکٹس کے ساتھ تعامل کرنے کے لیے ان لائبریریوں کا استعمال کر سکتے ہیں، لہذا ایک ایسی dApp بنانا ممکن ہے جہاں آپ پہلے سے موجود کنٹریکٹس کے ساتھ تعامل کرنے کے لیے صرف جاوا اسکرپٹ کا استعمال کریں۔ + +**ملاحظہ کریں** + +- [Web3.js](https://web3js.readthedocs.io) +- [Ethers.js](https://ethers.org) – _اس میں جاوا اسکرپٹ اور ٹائپ اسکرپٹ میں Ethereum والیٹ کا نفاذ اور یوٹیلیٹیز شامل ہیں۔_ +- [viem](https://viem.sh) – _Ethereum کے لیے ایک ٹائپ اسکرپٹ انٹرفیس جو Ethereum کے ساتھ تعامل کے لیے نچلی سطح کے اسٹیٹ لیس پریمیٹیوز فراہم کرتا ہے۔_ +- [Drift](https://ryangoree.github.io/drift/) – _ایک ٹائپ اسکرپٹ میٹا لائبریری جس میں بلٹ ان کیشنگ، ہکس، اور ٹیسٹ موکس شامل ہیں تاکہ ویب 3 لائبریریوں میں آسانی سے Ethereum ڈیولپمنٹ کی جا سکے۔_ + +### اسمارٹ کنٹریکٹس {#smart-contracts} + +اگر آپ جاوا اسکرپٹ ڈیولپر ہیں اور اپنا اسمارٹ کنٹریکٹ لکھنا چاہتے ہیں، تو آپ [Solidity](https://solidity.readthedocs.io) سے واقف ہونا چاہیں گے۔ یہ سب سے مقبول اسمارٹ کنٹریکٹ زبان ہے اور یہ نحوی طور پر جاوا اسکرپٹ سے ملتی جلتی ہے، جو اسے سیکھنا آسان بنا سکتا ہے۔ + +[اسمارٹ کنٹریکٹس](/developers/docs/smart-contracts/) کے بارے میں مزید۔ + +## پروٹوکول کو سمجھیں {#understand-the-protocol} + +### Ethereum ورچوئل مشین {#the-ethereum-virtual-machine} + +[Ethereum کی ورچوئل مشین](/developers/docs/evm/) کا ایک جاوا اسکرپٹ نفاذ موجود ہے۔ یہ جدید ترین فورک رولز کو سپورٹ کرتا ہے۔ فورک رولز سے مراد منصوبہ بند اپ گریڈ کے نتیجے میں EVM میں کی گئی تبدیلیاں ہیں۔ + +اسے مختلف جاوا اسکرپٹ پیکیجز میں تقسیم کیا گیا ہے جنہیں آپ بہتر طور پر سمجھنے کے لیے دیکھ سکتے ہیں: + +- اکاؤنٹس +- بلاک +- خود بلاک چین +- ٹرانزیکشنز +- اور مزید... + +اس سے آپ کو یہ سمجھنے میں مدد ملے گی کہ "ایک اکاؤنٹ کا ڈیٹا اسٹرکچر کیا ہے؟"۔ + +اگر آپ کوڈ پڑھنا پسند کرتے ہیں، تو یہ جاوا اسکرپٹ ہمارے دستاویزات کو پڑھنے کا ایک بہترین متبادل ہو سکتا ہے۔ + +**EVM کو ملاحظہ کریں** +[`@ethereumjs/evm`](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/evm) + +### نوڈز اور کلائنٹس {#nodes-and-clients} + +ایک Ethereumjs کلائنٹ فعال ڈیولپمنٹ میں ہے جو آپ کو یہ جاننے کی اجازت دیتا ہے کہ Ethereum کلائنٹس آپ کی سمجھی جانے والی زبان میں کیسے کام کرتے ہیں؛ جاوا اسکرپٹ! + +**کلائنٹ کو ملاحظہ کریں** +[`@ethereumjs/client`](https://github.com/ethereumjs/ethereumjs-monorepo/tree/master/packages/client) + +## دیگر پروجیکٹس {#other-projects} + +Ethereum جاوا اسکرپٹ کی دنیا میں اور بھی بہت کچھ ہو رہا ہے، بشمول: + +- والیٹ یوٹیلیٹیز کی لائبریریاں۔ +- Ethereum کیز کو جنریٹ، امپورٹ، اور ایکسپورٹ کرنے کے ٹولز۔ +- `merkle-patricia-tree` کا نفاذ – ایک ڈیٹا اسٹرکچر جس کا خاکہ Ethereum ییلو پیپر میں دیا گیا ہے۔ + +[EthereumJS ریپو](https://github.com/ethereumjs) پر جو بھی آپ کو سب سے زیادہ دلچسپ لگے اس کا جائزہ لیں۔ + +## مزید پڑھیں {#further-reading} + +_کسی کمیونٹی وسیلے کے بارے میں جانتے ہیں جس نے آپ کی مدد کی ہو؟ اس صفحہ میں ترمیم کریں اور اسے شامل کریں!_ diff --git a/public/content/translations/ur/developers/docs/programming-languages/python/index.md b/public/content/translations/ur/developers/docs/programming-languages/python/index.md new file mode 100644 index 00000000000..34383154dce --- /dev/null +++ b/public/content/translations/ur/developers/docs/programming-languages/python/index.md @@ -0,0 +1,99 @@ +--- +title: "پائیتھن ڈیولپرز کے لیے Ethereum" +description: "پائیتھن پر مبنی پروجیکٹس اور ٹولنگ کا استعمال کرتے ہوئے Ethereum کے لیے ڈیولپ کرنے کا طریقہ سیکھیں" +lang: ur-in +incomplete: true +--- + +پائیتھن پر مبنی پروجیکٹس اور ٹولنگ کا استعمال کرتے ہوئے Ethereum کے لیے ڈیولپ کرنے کا طریقہ سیکھیں + +غیر مرکزی ایپلی کیشنز (یا "dapps") بنانے کے لیے Ethereum کا استعمال کریں جو کرپٹو کرنسی اور بلاک چین ٹیکنالوجی کے فوائد کا استعمال کرتی ہیں۔ یہ dapps قابل اعتماد ہو سکتی ہیں، یعنی ایک بار جب انہیں Ethereum پر ڈیپلائے کر دیا جاتا ہے، تو وہ ہمیشہ پروگرام کے مطابق چلیں گی۔ وہ نئی قسم کی مالیاتی ایپلی کیشنز بنانے کے لیے ڈیجیٹل اثاثوں کو کنٹرول کر سکتی ہیں۔ وہ غیر مرکزی ہو سکتی ہیں، یعنی کوئی واحد ادارہ یا شخص انہیں کنٹرول نہیں کرتا ہے اور انہیں سنسر کرنا تقریباً ناممکن ہے۔ + +## اسمارٹ کنٹریکٹس اور Solidity زبان کے ساتھ شروعات کرنا {#getting-started-with-smart-contracts-and-solidity} + +**Python کو Ethereum کے ساتھ مربوط کرنے کے لیے اپنے پہلے قدم اٹھائیں** + +پہلے مزید بنیادی پرائمر کی ضرورت ہے؟ [ethereum.org/learn](/learn/) یا [ethereum.org/developers](/developers/) دیکھیں۔ + +- [بلاک چین کی وضاحت](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained) +- [اسمارٹ کنٹریکٹس کو سمجھنا](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract) +- [اپنا پہلا اسمارٹ کنٹریکٹ لکھیں](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract) +- [Solidity کو کمپائل اور ڈیپلائے کرنے کا طریقہ سیکھیں](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment) +- [بلاک چین 2023 رپورٹ میں پائیتھن کی حالت](https://tradingstrategy.ai/blog/the-state-of-python-in-blockchain-in-2023) + +## ابتدائی مضامین {#beginner-articles} + +- [web3.py کا جائزہ](https://web3py.readthedocs.io/en/latest/overview.html) +- [Ethereum پائیتھن ایکو سسٹم کا ٹور](https://snakecharmers.ethereum.org/python-ecosystem/) +- [Ethereum کے لیے ایک (پائیتھن) ڈیولپر کی گائیڈ](https://snakecharmers.ethereum.org/a-developers-guide-to-ethereum-pt-1/) +- [انعام کے لائق: ایک Ethereum پائیتھن ہیکاتھون گائیڈ](https://snakecharmers.ethereum.org/prize-worthy/) +- [Vyper کے ساتھ اسمارٹ کنٹریکٹس کا تعارف](https://kauri.io/#collections/Getting%20Started/an-introduction-to-smart-contracts-with-vyper/) +- [Python Flask کا استعمال کرتے ہوئے Ethereum کنٹریکٹ کیسے ڈیولپ کریں؟](https://medium.com/coinmonks/how-to-develop-ethereum-contract-using-python-flask-9758fe65976e) +- [Web3.py کا تعارف · پائیتھن ڈیولپرز کے لیے Ethereum](https://www.dappuniversity.com/articles/web3-py-intro) +- [Python اور web3.py کا استعمال کرتے ہوئے اسمارٹ کنٹریکٹ فنکشن کو کیسے کال کریں](https://stackoverflow.com/questions/57580702/how-to-call-a-smart-contract-function-using-python-and-web3-py) + +## درمیانی سطح کے مضامین {#intermediate-articles} + +- [web3.py کے دوست: Ape کا تعارف](https://snakecharmers.ethereum.org/intro-to-ape/) +- [پائیتھن پروگرامرز کے لیے Dapp ڈیولپمنٹ](https://levelup.gitconnected.com/dapps-development-for-python-developers-f52b32b54f28) +- [ایک پائیتھن Ethereum انٹرفیس بنانا: حصہ 1](https://hackernoon.com/creating-a-python-ethereum-interface-part-1-4d2e47ea0f4d) +- [پائیتھن میں Ethereum اسمارٹ کنٹریکٹس: ایک جامع (ish) گائیڈ](https://hackernoon.com/ethereum-smart-contracts-in-python-a-comprehensive-ish-guide-771b03990988) + +## استعمال کے جدید پیٹرن {#advanced-use-patterns} + +- [web3.py پیٹرنز: ریئل ٹائم ایونٹ سبسکرپشنز](https://snakecharmers.ethereum.org/subscriptions/) +- [web3.py پیٹرنز: WebSocketProvider](https://snakecharmers.ethereum.org/websocketprovider/) +- [Python کا استعمال کرتے ہوئے Ethereum اسمارٹ کنٹریکٹ کو کمپائل، ڈیپلائے اور کال کرنا](https://yohanes.gultom.id/2018/11/28/compiling-deploying-and-calling-ethereum-smartcontract-using-python/) +- [Slither کے ساتھ Solidity اسمارٹ کنٹریکٹس کا تجزیہ کریں](https://kauri.io/#collections/DevOps/analyze-solidity-smart-contracts-with-slither/#analyze-solidity-smart-contracts-with-slither) +- [بلاک چین فنٹیک ٹیوٹوریل: پائیتھن کے ساتھ قرض دینا اور لینا](https://blog.chain.link/blockchain-fintech-defi-tutorial-lending-borrowing-python/) + +## آرکائیو شدہ مضامین + +- [Python اور Brownie کے ساتھ اپنا ERC20 ٹوکن ڈیپلائے کریں](https://betterprogramming.pub/python-blockchain-token-deployment-tutorial-create-an-erc20-77a5fd2e1a58) +- [اسمارٹ کنٹریکٹس کو ڈیپلائے کرنے کے لیے Brownie اور Python کا استعمال](https://dev.to/patrickalphac/using-brownie-for-to-deploy-smart-contracts-1kkp) +- [Brownie کے ساتھ OpenSea پر NFTs بنانا](https://www.freecodecamp.org/news/how-to-make-an-nft-and-render-on-opensea-marketplace/) + +## پائیتھن پروجیکٹس اور ٹولز {#python-projects-and-tools} + +### فعال: {#active} + +- [Web3.py](https://github.com/ethereum/web3.py) - _Ethereum کے ساتھ تعامل کے لیے پائیتھن لائبریری_ +- [Vyper](https://github.com/ethereum/vyper/) - _EVM کے لیے پائیتھونک اسمارٹ کنٹریکٹ زبان_ +- [Ape](https://github.com/ApeWorX/ape) - _Pythonistas، ڈیٹا سائنسدانوں، اور سیکیورٹی پروفیشنلز کے لیے اسمارٹ کنٹریکٹ ڈیولپمنٹ ٹول_ +- [py-evm](https://github.com/ethereum/py-evm) - _Ethereum ورچوئل مشین کا نفاذ_ +- [eth-tester](https://github.com/ethereum/eth-tester) - _Ethereum پر مبنی ایپلی کیشنز کی جانچ کے لیے ٹولز_ +- [eth-utils](https://github.com/ethereum/eth-utils/) - _Ethereum سے متعلقہ کوڈ بیس کے ساتھ کام کرنے کے لیے یوٹیلٹی فنکشنز_ +- [py-solc-x](https://pypi.org/project/py-solc-x/) - _0.5.x سپورٹ کے ساتھ solc solidity کمپائلر کے ارد گرد پائیتھن ریپر_ +- [pymaker](https://github.com/makerdao/pymaker) - _Maker کنٹریکٹس کے لیے پائیتھن API_ +- [siwe](https://github.com/signinwithethereum/siwe-py) - _پائیتھن کے لیے Ethereum کے ساتھ سائن ان کریں (siwe)_ +- [Ethereum انٹیگریشنز کے لیے Web3 DeFi](https://github.com/tradingstrategy-ai/web3-ethereum-defi) - _ERC-20, Uniswap اور دیگر مقبول پروجیکٹس کے لیے تیار انٹیگریشنز کے ساتھ ایک پائیتھن پیکیج_ +- [Wake](https://getwake.io) - _کنٹریکٹس کی جانچ، فزنگ، ڈیپلائمنٹ، کمزوری اسکیننگ اور کوڈ نیویگیشن کے لیے آل-ان-ون پائیتھن فریم ورک (لینگویج سرور - [Solidity کے لیے ٹولز](https://marketplace.visualstudio.com/items?itemName=AckeeBlockchain.tools-for-solidity))_ + +### آرکائیو شدہ / اب برقرار نہیں رکھا گیا: {#archived--no-longer-maintained} + +- [Trinity](https://github.com/ethereum/trinity) - _Ethereum پائیتھن کلائنٹ_ +- [Mamba](https://github.com/arjunaskykok/mamba) - _Vyper زبان میں لکھے گئے اسمارٹ کنٹریکٹس کو لکھنے، کمپائل کرنے اور ڈیپلائے کرنے کا فریم ورک_ +- [Brownie](https://github.com/eth-brownie/brownie) - _Ethereum اسمارٹ کنٹریکٹس کو ڈیپلائے کرنے، جانچنے اور ان کے ساتھ تعامل کے لیے پائیتھن فریم ورک_ +- [pydevp2p](https://github.com/ethereum/pydevp2p) - _Ethereum P2P اسٹیک کا نفاذ_ +- [py-wasm](https://github.com/ethereum/py-wasm) - _ویب اسمبلی انٹرپریٹر کا پائیتھن نفاذ_ + +مزید وسائل کی تلاش ہے؟ [ethereum.org/developers](/developers/) دیکھیں۔ + +## پائیتھن ٹولنگ کا استعمال کرنے والے پروجیکٹس {#projects-using-python-tooling} + +درج ذیل Ethereum پر مبنی پروجیکٹس اس صفحہ پر مذکور ٹولز کا استعمال کرتے ہیں۔ متعلقہ اوپن سورس ریپوزٹریز مثال کے طور پر کوڈ اور بہترین طریقوں کے لیے ایک اچھا حوالہ کے طور پر کام کرتی ہیں۔ + +- [Yearn Finance](https://yearn.finance/) اور [Yearn Vault Contracts repository](https://github.com/yearn/yearn-vaults) +- [Curve](https://www.curve.finance/) اور [Curve smart contracts repository](https://github.com/curvefi/curve-contract) +- [BadgerDAO](https://badger.com/) اور [Brownie ٹول چین کا استعمال کرتے ہوئے اسمارٹ کنٹریکٹس](https://github.com/Badger-Finance/badger-system) +- [Sushi](https://sushi.com/) [اپنے ویسٹنگ کنٹریکٹس کو منظم کرنے اور ڈیپلائے کرنے میں پائیتھن کا استعمال کرتا ہے](https://github.com/sushiswap/sushi-vesting-protocols) +- [Alpha Finance](https://alphafinance.io/)، جو Alpha Homora کی شہرت کا حامل ہے، [اسمارٹ کنٹریکٹس کی جانچ اور ڈیپلائے کرنے کے لیے Brownie کا استعمال کرتا ہے](https://github.com/AlphaFinanceLab/alpha-staking-contract) + +## پائیتھن کمیونٹی ڈسکشن {#python-community-contributors} + +- Web3.py اور دیگر پائیتھن فریم ورک ڈسکشن کے لیے [Ethereum Python Community Discord](https://discord.gg/9zk7snTfWe) +- Vyper اسمارٹ کنٹریکٹ پروگرامنگ ڈسکشن کے لیے [Vyper Discord](https://discord.gg/SdvKC79cJk) + +## دیگر مجموعی فہرستیں {#other-aggregated-lists} + +Vyper وکی میں [Vyper کے لیے وسائل کی ایک ناقابل یقین فہرست](https://github.com/vyperlang/vyper/wiki/Vyper-tools-and-resources) ہے \ No newline at end of file diff --git a/public/content/translations/ur/developers/docs/programming-languages/ruby/index.md b/public/content/translations/ur/developers/docs/programming-languages/ruby/index.md new file mode 100644 index 00000000000..bea411df1b0 --- /dev/null +++ b/public/content/translations/ur/developers/docs/programming-languages/ruby/index.md @@ -0,0 +1,60 @@ +--- +title: "روبی ڈیولپرز کے لیے ایتھریم" +description: "روبی پر مبنی پروجیکٹس اور ٹولنگ کا استعمال کرتے ہوئے ایتھریم کے لیے ڈیولپ کرنے کا طریقہ سیکھیں۔" +lang: ur-in +incomplete: false +--- + +روبی پر مبنی پروجیکٹس اور ٹولنگ کا استعمال کرتے ہوئے ایتھریم کے لیے ڈیولپ کرنے کا طریقہ سیکھیں۔ + +غیر مرکزی ایپلی کیشنز (یا "dapps") بنانے کے لیے Ethereum کا استعمال کریں جو کرپٹو کرنسی اور بلاک چین ٹیکنالوجی کے فوائد کا استعمال کرتی ہیں۔ یہ dapps ٹرسٹ لیس ہو سکتے ہیں، جس کا مطلب ہے کہ ایک بار جب انہیں Ethereum پر ڈیپلائے کر دیا جاتا ہے، تو وہ ہمیشہ پروگرام کے مطابق ہی چلیں گے۔ وہ نئی قسم کی مالیاتی ایپلی کیشنز بنانے کے لیے ڈیجیٹل اثاثوں کو کنٹرول کر سکتے ہیں۔ وہ غیر مرکزی ہو سکتی ہیں، یعنی کوئی واحد ادارہ یا شخص انہیں کنٹرول نہیں کرتا ہے اور انہیں سنسر کرنا تقریباً ناممکن ہے۔ + +## اسمارٹ کنٹریکٹس اور Solidity زبان کے ساتھ شروعات کرنا {#getting-started-with-smart-contracts-and-solidity} + +**روبی کو ایتھریم کے ساتھ انٹیگریٹ کرنے کے لیے اپنے پہلے قدم اٹھائیں** + +پہلے مزید بنیادی پرائمر کی ضرورت ہے؟ [ethereum.org/learn](/learn/) یا [ethereum.org/developers](/developers/) دیکھیں۔ + +- [بلاک چین کی وضاحت](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained) +- [اسمارٹ کنٹریکٹس کو سمجھنا](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract) +- [اپنا پہلا اسمارٹ کنٹریکٹ لکھیں](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract) +- [Solidity کو کمپائل اور ڈیپلائے کرنے کا طریقہ سیکھیں](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment) + +## ابتدائی مضامین {#beginner-articles} + +- [بالآخر Ethereum اکاؤنٹس کو سمجھنا](https://dev.to/q9/finally-understanding-ethereum-accounts-1kpe) +- [آخرکار MetaMask کے ساتھ ریل یوزرس کی توثیق کرنا](https://dev.to/q9/finally-authenticating-rails-users-with-metamask-3fj) +- [روبی کا استعمال کرتے ہوئے ایتھریم نیٹ ورک سے کیسے جڑیں](https://www.quicknode.com/guides/web3-sdks/how-to-connect-to-the-ethereum-network-using-ruby) +- [روبی میں نیا ایتھریم ایڈریس کیسے جنریٹ کریں](https://www.quicknode.com/guides/web3-sdks/how-to-generate-a-new-ethereum-address-in-ruby) + +## درمیانی سطح کے مضامین {#intermediate-articles} + +- [روبی کے ساتھ بلاک چین ایپ](https://www.nopio.com/blog/blockchain-app-ruby/) +- [ایتھریم سے منسلک روبی کا استعمال کرکے، اسمارٹ کنٹریکٹ کو ایگزیکیوٹ کریں](https://titanwolf.org/Network/Articles/Article?AID=87285822-9b25-49d5-ba2a-7ad95fff7ef9) + +## روبی پروجیکٹس اور ٹولز {#ruby-projects-and-tools} + +### فعال {#active} + +- [eth.rb](https://github.com/q9f/eth.rb) - _ایتھریم اکاؤنٹس، میسیجز، اور ٹرانزیکشنز کو ہینڈل کرنے کے لیے روبی لائبریری اور RPC-کلائنٹ_ +- [keccak.rb](https://github.com/q9f/keccak.rb) - _ایتھریم کے ذریعے استعمال کیا جانے والا Keccak (SHA3) ہیش_ +- [siwe-ruby](https://github.com/signinwithethereum/siwe-ruby) - _Sign-In with Ethereum کا روبی امپلیمنٹیشن_ +- [siwe-rails](https://github.com/signinwithethereum/siwe-rails) - _ریلز جیم جو SIWE لوکل سائن ان روٹس کو شامل کرتا ہے_ +- [siwe-rails-examples](https://github.com/signinwithethereum/siwe-rails-examples) - _کسٹم کنٹرولر کے ساتھ روبی آن ریلز کا استعمال کرتے ہوئے SIWE کی مثال_ +- [omniauth-siwe](https://github.com/signinwithethereum/omniauth-siwe) - _Sign In With Ethereum (SIWE) کے لیے OmniAuth اسٹریٹجی_ +- [omniauth-nft](https://github.com/valthon/omniauth-nft) - _NFT کی ملکیت کے ذریعے توثیق کے لیے OmniAuth اسٹریٹجی_ +- [ethereum-on-rails](https://github.com/q9f/ethereum-on-rails) - _ایتھریم آن ریلز ٹیمپلیٹ جو MetaMask کو روبی آن ریلز سے جوڑنے کی اجازت دیتا ہے_ + +### آرکائیو شدہ / اب برقرار نہیں رکھا گیا {#archived--no-longer-maintained} + +- [web3-eth](https://github.com/spikewilliams/vtada-ethereum) - _روبی کے ساتھ ایتھریم نوڈ کے RPC میتھڈز کو کال کرنا_ +- [ethereum_tree](https://github.com/longhoangwkm/ethereum_tree) - _BIP32 اسٹینڈرڈ کے مطابق ایک ہائیرارکیکل ڈیٹرمنسٹک والیٹ سے ETH ایڈریسز جنریٹ کرنے کے لیے روبی لائبریری_ +- [etherlite](https://github.com/budacom/etherlite) - _روبی آن ریلز کے لیے ایتھریم انٹیگریشن_ +- [ethereum.rb](https://github.com/EthWorks/ethereum.rb) - _روبی ایتھریم کلائنٹ جو ٹرانزیکشنز بھیجنے، کنٹریکٹس بنانے اور ان کے ساتھ تعامل کرنے کے لیے JSON-RPC انٹرفیس کا استعمال کرتا ہے اور ساتھ ہی ایتھریم نوڈ کے ساتھ کام کرنے کے لیے مفید ٹول کٹ بھی ہے_ +- [omniauth-ethereum.rb](https://github.com/q9f/omniauth-ethereum.rb) - _OmniAuth کے لیے ایتھریم پرووائیڈر اسٹریٹجی کو امپلیمنٹ کرتا ہے_ + +مزید وسائل کی تلاش ہے؟ [ہمارے ڈویلپرز کا ہوم](/developers/) دیکھیں۔ + +## روبی کمیونٹی کنٹریبیوٹرز {#ruby-community-contributors} + +[ایتھریم روبی ٹیلیگرام گروپ](https://t.me/ruby_eth) تیزی سے بڑھتی ہوئی کمیونٹی کا میزبان ہے اور مذکورہ بالا کسی بھی پروجیکٹ اور متعلقہ عنوانات پر بات چیت کے لیے ایک وقف شدہ وسیلہ ہے۔ diff --git a/public/content/translations/ur/developers/docs/programming-languages/rust/index.md b/public/content/translations/ur/developers/docs/programming-languages/rust/index.md new file mode 100644 index 00000000000..32703da38bb --- /dev/null +++ b/public/content/translations/ur/developers/docs/programming-languages/rust/index.md @@ -0,0 +1,65 @@ +--- +title: "Rust ڈیولپرز کے لیے Ethereum" +description: "rust پر مبنی پروجیکٹس اور ٹولنگ کا استعمال کرتے ہوئے Ethereum کے لیے ڈیولپ کرنے کا طریقہ سیکھیں" +lang: ur-in +incomplete: true +--- + +Rust پر مبنی پروجیکٹس اور ٹولنگ کا استعمال کرتے ہوئے Ethereum کے لیے ڈیولپ کرنے کا طریقہ سیکھیں + +غیر مرکزی ایپلی کیشنز (یا "dapps") بنانے کے لیے Ethereum کا استعمال کریں جو کرپٹو کرنسی اور بلاک چین ٹیکنالوجی کے فوائد کا استعمال کرتی ہیں۔ یہ dapps قابل اعتماد ہو سکتی ہیں، یعنی ایک بار جب انہیں Ethereum پر ڈیپلائے کر دیا جاتا ہے، تو وہ ہمیشہ پروگرام کے مطابق چلیں گی۔ وہ نئی قسم کی مالیاتی ایپلی کیشنز بنانے کے لیے ڈیجیٹل اثاثوں کو کنٹرول کر سکتی ہیں۔ وہ غیر مرکزی ہو سکتی ہیں، یعنی کوئی واحد ادارہ یا شخص انہیں کنٹرول نہیں کرتا ہے اور انہیں سنسر کرنا تقریباً ناممکن ہے۔ + +## اسمارٹ کنٹریکٹس اور Solidity زبان کے ساتھ شروعات کرنا {#getting-started-with-smart-contracts-and-solidity} + +**Rust کو Ethereum کے ساتھ مربوط کرنے کے لیے اپنے پہلے قدم اٹھائیں** + +پہلے مزید بنیادی پرائمر کی ضرورت ہے؟ [ethereum.org/learn](/learn/) یا [ethereum.org/developers](/developers/) دیکھیں۔ + +- [بلاک چین کی وضاحت](https://kauri.io/article/d55684513211466da7f8cc03987607d5/blockchain-explained) +- [اسمارٹ کنٹریکٹس کو سمجھنا](https://kauri.io/article/e4f66c6079e74a4a9b532148d3158188/ethereum-101-part-5-the-smart-contract) +- [اپنا پہلا اسمارٹ کنٹریکٹ لکھیں](https://kauri.io/article/124b7db1d0cf4f47b414f8b13c9d66e2/remix-ide-your-first-smart-contract) +- [Solidity کو کمپائل اور ڈیپلائے کرنے کا طریقہ سیکھیں](https://kauri.io/article/973c5f54c4434bb1b0160cff8c695369/understanding-smart-contract-compilation-and-deployment) + +## ابتدائی مضامین {#beginner-articles} + +- [Rust Ethereum کلائنٹ](https://openethereum.github.io/) \* **نوٹ کریں کہ OpenEthereum [کو فرسودہ قرار دے دیا گیا ہے](https://medium.com/openethereum/gnosis-joins-erigon-formerly-turbo-geth-to-release-next-gen-ethereum-client-c6708dd06dd) اور اب اس کی دیکھ بھال نہیں کی جا رہی ہے۔** اسے احتیاط کے ساتھ استعمال کریں اور ترجیحاً کسی دوسرے کلائنٹ کے نفاذ پر سوئچ کریں۔ +- [Rust کا استعمال کرتے ہوئے Ethereum پر ٹرانزیکشن بھیجنا](https://kauri.io/#collections/A%20Hackathon%20Survival%20Guide/sending-ethereum-transactions-with-rust/) +- [Kovan کے لیے rust Wasm میں کنٹریکٹس لکھنے کے طریقے پر ایک مرحلہ وار ٹیوٹوریل](https://github.com/paritytech/pwasm-tutorial) + +## درمیانی سطح کے مضامین {#intermediate-articles} + +## استعمال کے جدید پیٹرن {#advanced-use-patterns} + +- [Ethereum جیسے نیٹ ورک کے ساتھ تعامل کرنے کے لیے pwasm_ethereum externs لائبریری](https://github.com/openethereum/pwasm-ethereum) + +- [JavaScript اور Rust کا استعمال کرتے ہوئے ایک غیر مرکزی چیٹ بنائیں](https://medium.com/perlin-network/build-a-decentralized-chat-using-javascript-rust-webassembly-c775f8484b52) + +- [Vue.js اور Rust کا استعمال کرتے ہوئے ایک غیر مرکزی ٹوڈو ایپ بنائیں](https://medium.com/@jjmace01/build-a-decentralized-todo-app-using-vue-js-rust-webassembly-5381a1895beb) + +- [Rust میں ایک بلاک چین بنائیں](https://blog.logrocket.com/how-to-build-a-blockchain-in-rust/) + +## Rust پروجیکٹس اور ٹولز {#rust-projects-and-tools} + +- [pwasm-ethereum](https://github.com/paritytech/pwasm-ethereum) - _Ethereum جیسے نیٹ ورک کے ساتھ تعامل کرنے کے لیے externs کا مجموعہ_ +- [Lighthouse](https://github.com/sigp/lighthouse) - _تیز رفتار Ethereum کنسینسس لیئر کلائنٹ_ +- [Ethereum WebAssembly](https://ewasm.readthedocs.io/en/mkdocs/) - _WebAssembly کے ایک ڈیٹرمنسٹک سب سیٹ کا استعمال کرتے ہوئے Ethereum اسمارٹ کنٹریکٹ ایگزیکیوشن لیئر کا مجوزہ ری ڈیزائن_ +- [oasis_std](https://docs.rs/oasis-std/latest/oasis_std/index.html) - _OASIS API حوالہ_ +- [Solaris](https://github.com/paritytech/sol-rs) - _مقامی Parity کلائنٹ EVM کا استعمال کرتے ہوئے Solidity اسمارٹ کنٹریکٹس یونٹ ٹیسٹ ہارنس۔_ +- [SputnikVM](https://github.com/rust-blockchain/evm) - _Rust Ethereum ورچوئل مشین کا نفاذ_ +- [Wavelet](https://wavelet.perlin.net/docs/smart-contracts) - _Rust میں Wavelet اسمارٹ کنٹریکٹ_ +- [Foundry](https://github.com/foundry-rs/foundry) - _Ethereum ایپلیکیشن ڈیولپمنٹ کے لیے ٹول کٹ_ +- [Alloy](https://alloy.rs) - _Ethereum اور دیگر EVM پر مبنی چینز کے ساتھ تعامل کے لیے اعلی کارکردگی والی، اچھی طرح سے آزمائی گئی اور دستاویزی لائبریریاں۔_ +- [Ethers_rs](https://github.com/gakonst/ethers-rs) - _Ethereum لائبریری اور والیٹ کا نفاذ_ +- [SewUp](https://github.com/second-state/SewUp) - _ایک لائبریری جو آپ کو Rust کے ساتھ اپنا Ethereum ویب اسمبلی کنٹریکٹ بنانے میں مدد کرتی ہے اور بالکل ایک عام بیک اینڈ میں ڈیولپ کرنے کی طرح ہے_ +- [Substreams](https://github.com/streamingfast/substreams) - _متوازی بلاک چین ڈیٹا انڈیکسنگ ٹیکنالوجی_ +- [Reth](https://github.com/paradigmxyz/reth) Reth (Rust Ethereum کا مخفف) ایک نیا Ethereum فل نوڈ نفاذ ہے +- [Awesome Ethereum Rust](https://github.com/Vid201/awesome-ethereum-rust) - _Ethereum ایکو سسٹم میں Rust میں لکھے گئے پروجیکٹس کا ایک منتخب کردہ مجموعہ_ + +مزید وسائل کی تلاش ہے؟ [ethereum.org/developers.](/developers/) دیکھیں + +## Rust کمیونٹی کے شراکت دار {#rust-community-contributors} + +- [Ethereum WebAssembly](https://gitter.im/ewasm/Lobby) +- [Oasis Gitter](https://gitter.im/Oasis-official/Lobby) +- [Parity Gitter](https://gitter.im/paritytech/parity) +- [Enigma](https://discord.gg/SJK32GY) diff --git a/public/content/translations/ur/developers/docs/scaling/index.md b/public/content/translations/ur/developers/docs/scaling/index.md new file mode 100644 index 00000000000..41d0283834c --- /dev/null +++ b/public/content/translations/ur/developers/docs/scaling/index.md @@ -0,0 +1,113 @@ +--- +title: "پیمانہ کاری" +description: "مختلف اسکیلنگ کے اختیارات کا ایک تعارف جو فی الحال Ethereum کمیونٹی کی طرف سے تیار کیے جا رہے ہیں۔" +lang: ur-in +sidebarDepth: 3 +--- + +## اسکیلنگ کا جائزہ {#scaling-overview} + +جیسے جیسے Ethereum استعمال کرنے والے لوگوں کی تعداد میں اضافہ ہوا ہے، بلاک چین صلاحیت کی کچھ حدود تک پہنچ گیا ہے۔ اس نے نیٹ ورک کو استعمال کرنے کی لاگت میں اضافہ کیا ہے، جس سے "اسکیلنگ حل" کی ضرورت پیدا ہوئی ہے۔ ایسے متعدد حل ہیں جن پر تحقیق، جانچ اور عمل درآمد کیا جا رہا ہے جو یکساں اہداف حاصل کرنے کے لیے مختلف طریقے اپناتے ہیں۔ + +اسکیل ایبلیٹی کا بنیادی مقصد وکندریقرت یا سیکورٹی پر سمجھوتہ کیے بغیر ٹرانزیکشن کی رفتار (تیز تر حتمیت) اور ٹرانزیکشن تھرو پٹ (فی سیکنڈ ٹرانزیکشنز کی زیادہ تعداد) کو بڑھانا ہے۔ لیئر 1 Ethereum بلاک چین پر، زیادہ مانگ کی وجہ سے ٹرانزیکشنز سست ہو جاتی ہیں اور ناقابل عمل [گیس کی قیمتیں](/developers/docs/gas/)۔ رفتار اور تھرو پٹ کے لحاظ سے نیٹ ورک کی صلاحیت کو بڑھانا Ethereum کو بامعنی اور بڑے پیمانے پر اپنانے کے لیے بنیادی ہے۔ + +اگرچہ رفتار اور تھرو پٹ اہم ہیں، یہ ضروری ہے کہ ان اہداف کو فعال کرنے والے اسکیلنگ حل وکندریقرت اور محفوظ رہیں۔ نوڈ آپریٹرز کے لیے داخلے کی رکاوٹ کو کم رکھنا مرکزی اور غیر محفوظ کمپیوٹنگ طاقت کی طرف پیشرفت کو روکنے کے لیے اہم ہے۔ + +تصوراتی طور پر ہم پہلے اسکیلنگ کی درجہ بندی آن چین اسکیلنگ یا آف چین اسکیلنگ کے طور پر کرتے ہیں۔ + +## شرائط {#prerequisites} + +آپ کو تمام بنیادی موضوعات کی اچھی سمجھ ہونی چاہیے۔ اسکیلنگ حل کو نافذ کرنا ایک جدید کام ہے کیونکہ ٹیکنالوجی کم آزمائی گئی ہے، اور اس پر تحقیق اور ترقی کا کام جاری ہے۔ + +## آن چین اسکیلنگ {#onchain-scaling} + +آن چین اسکیلنگ کے لیے Ethereum پروٹوکول (لیئر 1 [Mainnet](/glossary/#mainnet)) میں تبدیلیوں کی ضرورت ہوتی ہے۔ ایک طویل عرصے سے، یہ توقع کی جاتی تھی کہ بلاک چین کی شارڈنگ سے Ethereum کو اسکیل کیا جائے گا۔ اس میں بلاک چین کو الگ الگ ٹکڑوں (شارڈز) میں تقسیم کرنا شامل تھا جن کی تصدیق توثیق کاروں (validators) کے ذیلی سیٹوں کے ذریعے کی جانی تھی۔ تاہم، لیئر-2 رول اپس کے ذریعے اسکیلنگ نے بنیادی اسکیلنگ تکنیک کے طور پر جگہ لے لی ہے۔ اس کی حمایت ڈیٹا کی ایک نئی سستی شکل کے اضافے سے ہوتی ہے جو Ethereum بلاکس کے ساتھ منسلک ہوتی ہے جسے خاص طور پر صارفین کے لیے رول اپس سستے بنانے کے لیے ڈیزائن کیا گیا ہے۔ + +### شارڈنگ {#sharding} + +شارڈنگ ڈیٹا بیس کو تقسیم کرنے کا عمل ہے۔ توثیق کاروں (validators) کے ذیلی سیٹ انفرادی شارڈز کے لیے ذمہ دار ہوں گے بجائے اس کے کہ وہ پورے Ethereum کا ٹریک رکھیں۔ شارڈنگ ایک طویل عرصے تک Ethereum [روڈ میپ](/roadmap/) پر تھا، اور ایک بار اس کا مقصد The Merge سے پہلے پروف-آف-اسٹیک پر بھیجنا تھا۔ تاہم، [لیئر 2 رول اپس](#layer-2-scaling) کی تیز رفتار ترقی اور [Danksharding](/roadmap/danksharding) کی ایجاد (رول اپ ڈیٹا کے بلا بس کو Ethereum بلاکس میں شامل کرنا جن کی توثیق کاروں (validators) کے ذریعہ بہت موثر طریقے سے تصدیق کی جا سکتی ہے) نے Ethereum کمیونٹی کو شارڈنگ کے ذریعے اسکیلنگ کے بجائے رول اپ-سینٹرک اسکیلنگ کی حمایت کرنے پر مجبور کیا ہے۔ اس سے Ethereum کی اتفاق رائے کی منطق کو آسان رکھنے میں بھی مدد ملے گی۔ + +## آف چین اسکیلنگ {#offchain-scaling} + +آف چین حل لیئر 1 مین نیٹ سے الگ نافذ کیے جاتے ہیں - انہیں موجودہ Ethereum پروٹوکول میں کسی تبدیلی کی ضرورت نہیں ہے۔ کچھ حل، جنہیں "لیئر 2" حل کہا جاتا ہے، اپنی سیکیورٹی براہ راست لیئر 1 Ethereum اتفاق رائے سے حاصل کرتے ہیں، جیسے کہ [آپٹیمسٹک رول اپس](/developers/docs/scaling/optimistic-rollups/)، [زیرو-نالج رول اپس](/developers/docs/scaling/zk-rollups/) یا [اسٹیٹ چینلز](/developers/docs/scaling/state-channels/)۔ دیگر حلوں میں مختلف شکلوں میں نئی ​​چینز کی تخلیق شامل ہے جو اپنی سیکیورٹی مین نیٹ سے الگ حاصل کرتی ہیں، جیسے [سائیڈ چینز](#sidechains)، [ویلیڈیمز](#validium)، یا [پلازما چینز](#plasma)۔ یہ حل مین نیٹ کے ساتھ بات چیت کرتے ہیں لیکن مختلف قسم کے اہداف حاصل کرنے کے لیے اپنی سیکیورٹی مختلف طریقے سے حاصل کرتے ہیں۔ + +### لیئر 2 اسکیلنگ {#layer-2-scaling} + +آف چین حلوں کا یہ زمرہ اپنی سیکیورٹی مین نیٹ Ethereum سے حاصل کرتا ہے۔ + +لیئر 2 حلوں کے لیے ایک اجتماعی اصطلاح ہے جو آپ کی ایپلیکیشن کو اسکیل کرنے میں مدد کے لیے ڈیزائن کیے گئے ہیں، یہ Ethereum مین نیٹ (لیئر 1) سے باہر ٹرانزیکشنز کو سنبھال کر مین نیٹ کے مضبوط وکندریقرت سیکیورٹی ماڈل سے فائدہ اٹھاتے ہیں۔ جب نیٹ ورک مصروف ہوتا ہے تو ٹرانزیکشن کی رفتار متاثر ہوتی ہے، جس سے کچھ قسم کے dapps کے لیے صارف کا تجربہ خراب ہوتا ہے۔ اور جیسے جیسے نیٹ ورک مصروف ہوتا جاتا ہے، گیس کی قیمتیں بڑھ جاتی ہیں کیونکہ ٹرانزیکشن بھیجنے والے ایک دوسرے سے زیادہ بولی لگانے کی کوشش کرتے ہیں۔ یہ Ethereum کے استعمال کو بہت مہنگا بنا سکتا ہے۔ + +زیادہ تر لیئر 2 حل ایک سرور یا سرورز کے کلسٹر کے ارد گرد مرکوز ہوتے ہیں، جن میں سے ہر ایک کو نوڈ، ویلیڈیٹر، آپریٹر، سیکوینسر، بلاک پروڈیوسر، یا اسی طرح کی اصطلاح کہا جا سکتا ہے۔ نفاذ پر منحصر ہے، یہ لیئر 2 نوڈس ان افراد، کاروباروں یا اداروں کے ذریعے چلائے جا سکتے ہیں جو انہیں استعمال کرتے ہیں، یا کسی تیسرے فریق آپریٹر کے ذریعے، یا افراد کے ایک بڑے گروپ کے ذریعے (مین نیٹ کی طرح)۔ عام طور پر، ٹرانزیکشنز ان لیئر 2 نوڈس کو جمع کی جاتی ہیں بجائے اس کے کہ انہیں براہ راست لیئر 1 (مین نیٹ) میں جمع کیا جائے۔ کچھ حلوں کے لیے، لیئر 2 مثال پھر انہیں گروپوں میں بیچ کرتی ہے انہیں لیئر 1 پر اینکر کرنے سے پہلے، جس کے بعد وہ لیئر 1 کے ذریعے محفوظ ہو جاتے ہیں اور انہیں تبدیل نہیں کیا جا سکتا۔ یہ کیسے کیا جاتا ہے اس کی تفصیلات مختلف لیئر 2 ٹیکنالوجیز اور نفاذ کے درمیان نمایاں طور پر مختلف ہوتی ہیں۔ + +ایک مخصوص لیئر 2 مثال بہت سی ایپلی کیشنز کے ذریعے کھلی اور مشترکہ ہو سکتی ہے، یا کسی ایک پروجیکٹ کے ذریعے تعینات کی جا سکتی ہے اور صرف ان کی ایپلیکیشن کو سپورٹ کرنے کے لیے وقف ہو۔ + +#### لیئر 2 کی ضرورت کیوں ہے؟ {#why-is-layer-2-needed} + +- فی سیکنڈ ٹرانزیکشنز میں اضافہ صارف کے تجربے کو بہت بہتر بناتا ہے، اور مین نیٹ Ethereum پر نیٹ ورک کی بھیڑ کو کم کرتا ہے۔ +- ٹرانزیکشنز کو مین نیٹ Ethereum پر ایک ہی ٹرانزیکشن میں رول اپ کیا جاتا ہے، جس سے صارفین کے لیے گیس کی فیس کم ہوتی ہے اور Ethereum کو ہر جگہ لوگوں کے لیے زیادہ جامع اور قابل رسائی بناتا ہے۔ +- اسکیل ایبلیٹی میں کوئی بھی اپ ڈیٹ وکندریقرت یا سیکیورٹی کی قیمت پر نہیں ہونی چاہیے – لیئر 2 Ethereum کے اوپر بنتا ہے۔ +- یہاں ایپلیکیشن کے لیے مخصوص لیئر 2 نیٹ ورکس ہیں جو بڑے پیمانے پر اثاثوں کے ساتھ کام کرتے وقت اپنی اپنی افادیت لاتے ہیں۔ + +[لیئر 2 پر مزید](/layer-2/)۔ + +#### رول اپس {#rollups} + +رول اپس لیئر 1 کے باہر ٹرانزیکشن کا عمل انجام دیتے ہیں اور پھر ڈیٹا کو لیئر 1 پر پوسٹ کیا جاتا ہے جہاں اتفاق رائے تک پہنچا جاتا ہے۔ چونکہ ٹرانزیکشن ڈیٹا لیئر 1 بلاکس میں شامل ہوتا ہے، یہ رول اپس کو مقامی Ethereum سیکیورٹی کے ذریعے محفوظ رکھنے کی اجازت دیتا ہے۔ + +مختلف سیکیورٹی ماڈلز کے ساتھ رول اپس کی دو قسمیں ہیں: + +- **آپٹیمسٹک رول اپس**: یہ فرض کرتا ہے کہ ٹرانزیکشنز بطور ڈیفالٹ درست ہیں اور کسی چیلنج کی صورت میں، [**فراڈ پروف**](/glossary/#fraud-proof) کے ذریعے، صرف کمپیوٹیشن چلاتا ہے۔ [آپٹیمسٹک رول اپس پر مزید](/developers/docs/scaling/optimistic-rollups/)۔ +- **زیرو-نالج رول اپس**: آف چین کمپیوٹیشن چلاتا ہے اور چین کو [**ویلیڈیٹی پروف**](/glossary/#validity-proof) جمع کرتا ہے۔ [زیرو-نالج رول اپس پر مزید](/developers/docs/scaling/zk-rollups/)۔ + +#### اسٹیٹ چینلز {#channels} + +اسٹیٹ چینلز ملٹی سگ کنٹریکٹس کا استعمال کرتے ہیں تاکہ شرکاء کو آف چین تیزی اور آزادانہ طور پر ٹرانزیکشن کرنے کے قابل بنایا جا سکے، پھر مین نیٹ کے ساتھ حتمیت کو طے کریں۔ یہ نیٹ ورک کی بھیڑ، فیس، اور تاخیر کو کم سے کم کرتا ہے۔ چینلز کی دو قسمیں فی الحال اسٹیٹ چینلز اور ادائیگی کے چینلز ہیں۔ + +[اسٹیٹ چینلز](/developers/docs/scaling/state-channels/) کے بارے میں مزید جانیں۔ + +### سائیڈ چینز {#sidechains} + +سائیڈ چین ایک آزاد EVM-مطابقت رکھنے والا بلاک چین ہے جو مین نیٹ کے متوازی چلتا ہے۔ یہ دو طرفہ برجز کے ذریعے Ethereum کے ساتھ مطابقت رکھتے ہیں اور اپنے منتخب کردہ اتفاق رائے کے قوانین اور بلاک پیرامیٹرز کے تحت چلتے ہیں۔ + +[سائیڈ چینز](/developers/docs/scaling/sidechains/) کے بارے میں مزید جانیں۔ + +### پلازما {#plasma} + +پلازما چین ایک علیحدہ بلاک چین ہے جو مرکزی Ethereum چین سے منسلک ہے اور تنازعات کو ثالثی کرنے کے لیے فراڈ پروفس (جیسے [آپٹیمسٹک رول اپس](/developers/docs/scaling/optimistic-rollups/)) کا استعمال کرتی ہے۔ + +[پلازما](/developers/docs/scaling/plasma/) کے بارے میں مزید جانیں۔ + +### ویلیڈیم {#validium} + +ایک ویلیڈیم چین زیرو-نالج رول اپس کی طرح ویلیڈیٹی پروفس کا استعمال کرتی ہے لیکن ڈیٹا مرکزی لیئر 1 Ethereum چین پر ذخیرہ نہیں ہوتا ہے۔ اس سے فی ویلیڈیم چین 10 ہزار ٹرانزیکشنز فی سیکنڈ ہو سکتی ہیں اور متعدد چینز متوازی طور پر چلائی جا سکتی ہیں۔ + +[ویلیڈیم](/developers/docs/scaling/validium/) کے بارے میں مزید جانیں۔ + +## اتنے سارے اسکیلنگ حلوں کی ضرورت کیوں ہے؟ {#why-do-we-need-these} + +- متعدد حل نیٹ ورک کے کسی ایک حصے پر مجموعی بھیڑ کو کم کرنے میں مدد کر سکتے ہیں اور ناکامی کے واحد نکات کو بھی روکتے ہیں۔ +- کل اس کے حصوں کے مجموعے سے بڑا ہے۔ مختلف حل ہم آہنگی کے ساتھ موجود اور کام کر سکتے ہیں، جس سے مستقبل میں ٹرانزیکشن کی رفتار اور تھرو پٹ پر ایک تیز رفتار اثر پڑتا ہے۔ +- تمام حلوں کو براہ راست Ethereum اتفاق رائے الگورتھم استعمال کرنے کی ضرورت نہیں ہے، اور متبادل ایسے فوائد پیش کر سکتے ہیں جو دوسری صورت میں حاصل کرنا مشکل ہوگا۔ + +## کیا آپ زیادہ بصری سیکھنے والے ہیں؟ {#visual-learner} + + + +_نوٹ کریں کہ ویڈیو میں وضاحت "لیئر 2" کی اصطلاح کا استعمال تمام آف چین اسکیلنگ حلوں کے لیے کرتی ہے، جبکہ ہم "لیئر 2" کو ایک آف چین حل کے طور پر مختلف کرتے ہیں جو اپنی سیکیورٹی لیئر 1 مین نیٹ اتفاق رائے کے ذریعے حاصل کرتا ہے۔_ + + + +## مزید پڑھیں {#further-reading} + +- [ایک رول اپ-سینٹرک Ethereum روڈ میپ](https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698) _Vitalik Buterin_ +- [Ethereum کے لیے لیئر 2 اسکیلنگ حلوں پر تازہ ترین تجزیات](https://www.l2beat.com/) +- [Ethereum لیئر 2 اسکیلنگ حلوں کا جائزہ: ایک موازنہ فریم ورک](https://medium.com/matter-labs/evaluating-ethereum-l2-scaling-solutions-a-comparison-framework-b6b2f410f955) +- [رول اپس کے لیے ایک نامکمل گائیڈ](https://vitalik.eth.limo/general/2021/01/05/rollup.html) +- [Ethereum سے چلنے والے ZK-Rollups: ورلڈ بیٹرز](https://hackmd.io/@canti/rkUT0BD8K) +- [آپٹیمسٹک رول اپس بمقابلہ ZK رول اپس](https://limechain.tech/blog/optimistic-rollups-vs-zk-rollups/) +- [کیوں رول اپس + ڈیٹا شارڈز اعلیٰ اسکیل ایبلیٹی کے لیے واحد پائیدار حل ہیں](https://polynya.medium.com/why-rollups-data-shards-are-the-only-sustainable-solution-for-high-scalability-c9aabd6fbb48) +- [کس قسم کے لیئر 3s معنی رکھتے ہیں؟](https://vitalik.eth.limo/general/2022/09/17/layer_3.html) +- [ڈیٹا کی دستیابی یا: رول اپس نے پریشان ہونا چھوڑ کر ایتھیریم سے محبت کرنا کیسے سیکھا](https://web.archive.org/web/20250515194659/https://web.archive.org/web/20241108192208/https://research.2077.xyz/data-availability-or-how-rollups-learned-to-stop-worrying-and-love-ethereum) +- [Ethereum رول اپس کے لیے عملی گائیڈ](https://web.archive.org/web/20241108192208/https://research.2077.xyz/the-practical-guide-to-ethereum-rollups) + +_کسی کمیونٹی وسیلے کے بارے میں جانتے ہیں جس نے آپ کی مدد کی ہو؟ اس صفحہ میں ترمیم کریں اور اسے شامل کریں!_ diff --git a/public/content/translations/ur/developers/docs/scaling/optimistic-rollups/index.md b/public/content/translations/ur/developers/docs/scaling/optimistic-rollups/index.md new file mode 100644 index 00000000000..86fa898a5c5 --- /dev/null +++ b/public/content/translations/ur/developers/docs/scaling/optimistic-rollups/index.md @@ -0,0 +1,265 @@ +--- +title: "امید پسندانہ رول اپس" +description: "امید پسندانہ رول اپس کا ایک تعارف— ایک اسکیلنگ حل جو Ethereum کمیونٹی کے ذریعہ استعمال کیا جاتا ہے۔" +lang: ur-in +--- + +امید پسندانہ رول اپس لیئر 2 (L2) پروٹوکولز ہیں جو Ethereum کی بیس لیئر کی تھرو پٹ کو بڑھانے کے لیے ڈیزائن کیے گئے ہیں۔ وہ آف چین ٹرانزیکشنز پر کارروائی کرکے مرکزی Ethereum چین پر کمپیوٹیشن کو کم کرتے ہیں، جس سے پروسیسنگ کی رفتار میں نمایاں بہتری آتی ہے۔ دیگر اسکیلنگ حلوں کے برعکس، جیسے کہ [sidechains](/developers/docs/scaling/sidechains/)، امید پسندانہ رول اپس آن چین ٹرانزیکشن کے نتائج شائع کرکے Mainnet سے سیکیورٹی حاصل کرتے ہیں، یا [plasma chains](/developers/docs/scaling/plasma/)، جو فراڈ پروف کے ساتھ Ethereum پر ٹرانزیکشنز کی تصدیق بھی کرتے ہیں، لیکن ٹرانزیکشن کا ڈیٹا کہیں اور اسٹور کرتے ہیں۔ + +چونکہ کمپیوٹیشن Ethereum استعمال کرنے کا سست، مہنگا حصہ ہے، اس لیے امید پسندانہ رول اپس اسکیل ایبلٹی میں 10-100x تک بہتری پیش کر سکتے ہیں۔ امید پسندانہ رول اپس `calldata` کے طور پر یا [blobs](/roadmap/danksharding/) میں Ethereum میں ٹرانزیکشنز بھی لکھتے ہیں، جس سے صارفین کے لیے گیس کے اخراجات کم ہوتے ہیں۔ + +## شرائط {#prerequisites} + +آپ کو [ایتھیریم اسکیلنگ](/developers/docs/scaling/) اور [لیئر 2](/layer-2/) پر ہمارے صفحات کو پڑھنا اور سمجھنا چاہیے تھا۔ + +## امید پسندانہ رول اپ کیا ہے؟ {#what-is-an-optimistic-rollup} + +ایک امید پسندانہ رول اپ Ethereum کو اسکیل کرنے کا ایک طریقہ ہے جس میں کمپیوٹیشن اور اسٹیٹ اسٹوریج کو آف چین منتقل کرنا شامل ہے۔ امید پسندانہ رول اپس Ethereum کے باہر ٹرانزیکشنز کو انجام دیتے ہیں، لیکن ٹرانزیکشن ڈیٹا کو `calldata` کے طور پر یا [blobs](/roadmap/danksharding/) میں Mainnet پر پوسٹ کرتے ہیں۔ + +امید پسندانہ رول اپ آپریٹرز Ethereum میں جمع کرنے سے پہلے متعدد آف چین ٹرانزیکشنز کو بڑے بیچوں میں ایک ساتھ بنڈل کرتے ہیں۔ یہ نقطہ نظر ہر بیچ میں متعدد ٹرانزیکشنز پر مقررہ اخراجات کو پھیلانے کے قابل بناتا ہے، جس سے آخری صارفین کے لیے فیس کم ہوتی ہے۔ امید پسندانہ رول اپس Ethereum پر پوسٹ کیے گئے ڈیٹا کی مقدار کو کم کرنے کے لیے کمپریشن تکنیک کا بھی استعمال کرتے ہیں۔ + +امید پسندانہ رول اپس کو ”امید پسندانہ“ سمجھا جاتا ہے کیونکہ وہ فرض کرتے ہیں کہ آف چین ٹرانزیکشنز درست ہیں اور آن چین پوسٹ کیے گئے ٹرانزیکشن بیچوں کے لیے موزونیت کے ثبوت شائع نہیں کرتے ہیں۔ یہ امید پسندانہ رول اپس کو [zero-knowledge rollups](/developers/docs/scaling/zk-rollups) سے الگ کرتا ہے جو آف چین ٹرانزیکشنز کے لیے کرپٹوگرافک [proofs of validity](/glossary/#validity-proof) شائع کرتے ہیں۔ + +امید پسندانہ رول اپس اس کے بجائے ان معاملات کا پتہ لگانے کے لیے فراڈ پروف اسکیم پر انحصار کرتے ہیں جہاں ٹرانزیکشنز کا صحیح حساب نہیں لگایا جاتا ہے۔ Ethereum پر رول اپ بیچ جمع ہونے کے بعد، ایک ٹائم ونڈو ہوتی ہے (جسے چیلنج پیریڈ کہا جاتا ہے) جس کے دوران کوئی بھی [fraud proof](/glossary/#fraud-proof) کا حساب لگا کر رول اپ ٹرانزیکشن کے نتائج کو چیلنج کر سکتا ہے۔ + +اگر فراڈ پروف کامیاب ہو جاتا ہے، تو رول اپ پروٹوکول ٹرانزیکشن (ٹرانزیکشنز) کو دوبارہ انجام دیتا ہے اور اسی کے مطابق رول اپ کی اسٹیٹ کو اپ ڈیٹ کرتا ہے۔ کامیاب فراڈ پروف کا دوسرا اثر یہ ہے کہ غلط طریقے سے انجام دیے گئے ٹرانزیکشن کو بلاک میں شامل کرنے کے لیے ذمہ دار سیکوینسر کو جرمانہ ملتا ہے۔ + +اگر چیلنج کی مدت ختم ہونے کے بعد رول اپ بیچ غیر چیلنج شدہ رہتا ہے (یعنی، تمام ٹرانزیکشنز صحیح طریقے سے انجام پائے ہیں)، تو اسے Ethereum پر درست اور قبول شدہ سمجھا جاتا ہے۔ دوسرے غیر مصدقہ رول اپ بلاک پر تعمیر جاری رکھ سکتے ہیں، لیکن ایک انتباہ کے ساتھ: اگر پہلے شائع شدہ غلط طریقے سے انجام دیے گئے ٹرانزیکشن پر مبنی ہو تو ٹرانزیکشن کے نتائج الٹ دیے جائیں گے۔ + +## امید پسندانہ رول اپس Ethereum کے ساتھ کیسے تعامل کرتے ہیں؟ {#optimistic-rollups-and-Ethereum} + +امید پسندانہ رول اپس [offchain scaling solutions](/developers/docs/scaling/#offchain-scaling) ہیں جو Ethereum کے اوپر کام کرنے کے لیے بنائے گئے ہیں۔ ہر امید پسندانہ رول اپ کا انتظام Ethereum نیٹ ورک پر تعینات اسمارٹ کنٹریکٹس کے ایک سیٹ کے ذریعے کیا جاتا ہے۔ امید پسندانہ رول اپس مرکزی Ethereum چین سے باہر ٹرانزیکشنز پر کارروائی کرتے ہیں، لیکن آف چین ٹرانزیکشنز (بیچوں میں) کو آن چین رول اپ کنٹریکٹ میں پوسٹ کرتے ہیں۔ Ethereum بلاک چین کی طرح، یہ ٹرانزیکشن ریکارڈ ناقابل تغیر ہے اور "امید پسندانہ رول اپ چین" بناتا ہے۔ + +امید پسندانہ رول اپ کے فن تعمیر میں درج ذیل حصے شامل ہیں: + +**آن چین کنٹریکٹس**: امید پسندانہ رول اپ کا آپریشن Ethereum پر چلنے والے اسمارٹ کنٹریکٹس کے ذریعے کنٹرول کیا جاتا ہے۔ اس میں وہ کنٹریکٹس شامل ہیں جو رول اپ بلاکس کو اسٹور کرتے ہیں، رول اپ پر اسٹیٹ اپ ڈیٹس کی نگرانی کرتے ہیں، اور صارف کے ڈپازٹس کو ٹریک کرتے ہیں۔ اس لحاظ سے، Ethereum امید پسندانہ رول اپس کے لیے بیس لیئر یا "لیئر 1" کے طور پر کام کرتا ہے۔ + +**آف چین ورچوئل مشین (VM)**: اگرچہ امید پسندانہ رول اپ پروٹوکول کا انتظام کرنے والے کنٹریکٹس Ethereum پر چلتے ہیں، رول اپ پروٹوکول [Ethereum Virtual Machine](/developers/docs/evm/) سے الگ ایک اور ورچوئل مشین پر کمپیوٹیشن اور اسٹیٹ اسٹوریج انجام دیتا ہے۔ آف چین VM وہ جگہ ہے جہاں ایپلی کیشنز رہتی ہیں اور اسٹیٹ میں تبدیلیاں کی جاتی ہیں۔ یہ ایک امید پسندانہ رول اپ کے لیے اوپری لیئر یا "لیئر 2" کے طور پر کام کرتا ہے۔ + +چونکہ امید پسندانہ رول اپس EVM کے لیے لکھے گئے یا مرتب کیے گئے پروگراموں کو چلانے کے لیے بنائے گئے ہیں، آف چین VM میں بہت سے EVM ڈیزائن کی خصوصیات شامل ہیں۔ مزید برآں، آن چین کمپیوٹ کیے گئے فراڈ پروف Ethereum نیٹ ورک کو آف چین VM میں کمپیوٹ کی گئی اسٹیٹ تبدیلیوں کی موزونیت کو نافذ کرنے کی اجازت دیتے ہیں۔ + +امید پسندانہ رول اپس کو 'ہائبرڈ اسکیلنگ حل' کے طور پر بیان کیا گیا ہے کیونکہ، اگرچہ وہ الگ الگ پروٹوکول کے طور پر موجود ہیں، ان کی سیکیورٹی کی خصوصیات Ethereum سے حاصل کی گئی ہیں۔ دیگر چیزوں کے علاوہ، Ethereum رول اپ کے آف چین کمپیوٹیشن کی درستگی اور کمپیوٹیشن کے پیچھے ڈیٹا کی دستیابی کی ضمانت دیتا ہے۔ یہ امید پسندانہ رول اپس کو خالص آف چین اسکیلنگ پروٹوکولز (مثلاً، [sidechains](/developers/docs/scaling/sidechains/)) سے زیادہ محفوظ بناتا ہے جو سیکیورٹی کے لیے Ethereum پر انحصار نہیں کرتے ہیں۔ + +امید پسندانہ رول اپس درج ذیل کے لیے مرکزی Ethereum پروٹوکول پر انحصار کرتے ہیں: + +### ڈیٹا کی دستیابی {#data-availability} + +جیسا کہ ذکر کیا گیا ہے، امید پسندانہ رول اپس ٹرانزیکشن ڈیٹا کو `calldata` یا [blobs](/roadmap/danksharding/) کے طور پر Ethereum پر پوسٹ کرتے ہیں۔ چونکہ رول اپ چین کا عمل درآمد جمع کردہ ٹرانزیکشنز پر مبنی ہے، کوئی بھی اس معلومات کا استعمال کر سکتا ہے — جو Ethereum کی بیس لیئر پر لنگر انداز ہے — رول اپ کی اسٹیٹ کو انجام دینے اور اسٹیٹ کی منتقلی کی درستگی کی تصدیق کرنے کے لیے۔ + +[ڈیٹا کی دستیابی](/developers/docs/data-availability/) اہم ہے کیونکہ اسٹیٹ ڈیٹا تک رسائی کے بغیر، چیلنجرز غلط رول اپ آپریشنز پر تنازعہ کرنے کے لیے فراڈ پروف نہیں بنا سکتے۔ Ethereum کے ڈیٹا کی دستیابی فراہم کرنے کے ساتھ، رول اپ آپریٹرز کے بدنیتی پر مبنی کاموں (مثلاً، غلط بلاکس جمع کرنا) سے بچنے کا خطرہ کم ہو جاتا ہے۔ + +### سنسرشپ مزاحمت {#censorship-resistance} + +امید پسندانہ رول اپس سنسرشپ مزاحمت کے لیے Ethereum پر بھی انحصار کرتے ہیں۔ ایک امید پسندانہ رول اپ میں ایک مرکزی ادارہ (آپریٹر) ٹرانزیکشنز پر کارروائی کرنے اور Ethereum میں رول اپ بلاکس جمع کرنے کا ذمہ دار ہے۔ اس کے کچھ مضمرات ہیں: + +- رول اپ آپریٹرز مکمل طور پر آف لائن جا کر، یا ایسے بلاکس تیار کرنے سے انکار کر کے صارفین کو سنسر کر سکتے ہیں جن میں کچھ ٹرانزیکشنز شامل ہوں۔ + +- رول اپ آپریٹرز ملکیت کے Merkle پروف کے لیے ضروری اسٹیٹ ڈیٹا کو روک کر صارفین کو رول اپ کنٹریکٹ میں جمع کردہ فنڈز نکالنے سے روک سکتے ہیں۔ اسٹیٹ ڈیٹا کو روکنا صارفین سے رول اپ کی اسٹیٹ کو بھی چھپا سکتا ہے اور انہیں رول اپ کے ساتھ تعامل کرنے سے روک سکتا ہے۔ + +امید پسندانہ رول اپس آپریٹرز کو Ethereum پر اسٹیٹ اپ ڈیٹس سے وابستہ ڈیٹا شائع کرنے پر مجبور کر کے اس مسئلے کو حل کرتے ہیں۔ رول اپ ڈیٹا کو آن چین شائع کرنے کے درج ذیل فوائد ہیں: + +- اگر کوئی امید پسندانہ رول اپ آپریٹر آف لائن ہو جاتا ہے یا ٹرانزیکشن بیچ بنانا بند کر دیتا ہے، تو دوسرا نوڈ دستیاب ڈیٹا کا استعمال کر کے رول اپ کی آخری اسٹیٹ کو دوبارہ تیار کر سکتا ہے اور بلاک کی پیداوار جاری رکھ سکتا ہے۔ + +- صارفین فنڈز کی ملکیت ثابت کرنے والے Merkle پروف بنانے اور رول اپ سے اپنے اثاثے نکالنے کے لیے ٹرانزیکشن ڈیٹا کا استعمال کر سکتے ہیں۔ + +- صارفین سیکوینسر کے بجائے L1 پر بھی اپنے ٹرانزیکشنز جمع کرا سکتے ہیں، ایسی صورت میں سیکوینسر کو درست بلاکس کی تیاری جاری رکھنے کے لیے ایک مخصوص وقت کی حد کے اندر ٹرانزیکشن کو شامل کرنا ہوگا۔ + +### سیٹلمنٹ {#settlement} + +امید پسندانہ رول اپس کے تناظر میں Ethereum کا ایک اور کردار سیٹلمنٹ لیئر کا ہے۔ ایک سیٹلمنٹ لیئر پورے بلاک چین ایکو سسٹم کو لنگر انداز کرتی ہے، سیکیورٹی قائم کرتی ہے، اور اگر کسی دوسری چین (اس معاملے میں امید پسندانہ رول اپس) پر کوئی تنازعہ ہوتا ہے جس کے لیے ثالثی کی ضرورت ہوتی ہے تو معروضی حتمیت فراہم کرتی ہے۔ + +Ethereum Mainnet امید پسندانہ رول اپس کو فراڈ پروف کی تصدیق کرنے اور تنازعات کو حل کرنے کے لیے ایک مرکز فراہم کرتا ہے۔ مزید یہ کہ، رول اپ پر کیے گئے ٹرانزیکشنز صرف _اس کے بعد_ حتمی ہوتے ہیں جب رول اپ بلاک Ethereum پر قبول ہو جاتا ہے۔ ایک بار جب کوئی رول اپ ٹرانزیکشن Ethereum کی بیس لیئر کے لیے پرعزم ہو جاتا ہے، تو اسے واپس نہیں کیا جا سکتا (سوائے چین کی تنظیم نو کے انتہائی غیر متوقع معاملے کے)۔ + +## امید پسندانہ رول اپس کیسے کام کرتے ہیں؟ {#how-optimistic-rollups-work} + +### ٹرانزیکشن کا نفاذ اور جمع کرنا {#transaction-execution-and-aggregation} + +صارفین ”آپریٹرز“ کو ٹرانزیکشنز جمع کراتے ہیں، جو امید پسندانہ رول اپ پر ٹرانزیکشنز پر کارروائی کے ذمہ دار نوڈز ہیں۔ ”ویلیڈیٹر“ یا ”ایگریگیٹر“ کے نام سے بھی جانا جاتا ہے، آپریٹر ٹرانزیکشنز کو جمع کرتا ہے، بنیادی ڈیٹا کو کمپریس کرتا ہے، اور بلاک کو Ethereum پر شائع کرتا ہے۔ + +اگرچہ کوئی بھی ویلیڈیٹر بن سکتا ہے، لیکن امید پسندانہ رول اپ ویلیڈیٹرز کو بلاکس تیار کرنے سے پہلے ایک بانڈ فراہم کرنا چاہیے، بالکل اسی طرح جیسے [proof-of-stake system](/developers/docs/consensus-mechanisms/pos/)۔ اگر ویلیڈیٹر کوئی غلط بلاک پوسٹ کرتا ہے یا پرانے لیکن غلط بلاک پر بناتا ہے تو اس بانڈ کو سلیش کیا جاسکتا ہے (چاہے ان کا بلاک درست ہی کیوں نہ ہو)۔ اس طرح امید پسندانہ رول اپس اس بات کو یقینی بنانے کے لیے کرپٹو اکنامک ترغیبات کا استعمال کرتے ہیں کہ ویلیڈیٹرز ایمانداری سے کام کریں۔ + +امید پسندانہ رول اپ چین پر موجود دیگر ویلیڈیٹرز سے توقع کی جاتی ہے کہ وہ رول اپ کی اسٹیٹ کی اپنی کاپی کا استعمال کرتے ہوئے جمع کرائے گئے ٹرانزیکشنز کو انجام دیں گے۔ اگر کسی ویلیڈیٹر کی حتمی اسٹیٹ آپریٹر کی مجوزہ اسٹیٹ سے مختلف ہے، تو وہ ایک چیلنج شروع کر سکتے ہیں اور فراڈ پروف کا حساب لگا سکتے ہیں۔ + +کچھ امید پسندانہ رول اپس اجازت کے بغیر ویلیڈیٹر سسٹم کو ترک کر سکتے ہیں اور چین کو انجام دینے کے لیے ایک ہی ”سیکوینسر“ استعمال کر سکتے ہیں۔ ویلیڈیٹر کی طرح، سیکوینسر ٹرانزیکشنز پر کارروائی کرتا ہے، رول اپ بلاکس تیار کرتا ہے، اور L1 چین (Ethereum) میں رول اپ ٹرانزیکشنز جمع کرتا ہے۔ + +سیکوینسر ایک باقاعدہ رول اپ آپریٹر سے مختلف ہے کیونکہ اس کا ٹرانزیکشنز کی ترتیب پر زیادہ کنٹرول ہوتا ہے۔ اس کے علاوہ، سیکوینسر کو رول اپ چین تک ترجیحی رسائی حاصل ہے اور وہ آن چین کنٹریکٹ میں ٹرانزیکشنز جمع کرانے کا واحد مجاز ادارہ ہے۔ نان سیکوینسر نوڈس یا باقاعدہ صارفین کے ٹرانزیکشنز کو صرف ایک الگ ان باکس میں قطار میں رکھا جاتا ہے جب تک کہ سیکوینسر انہیں ایک نئے بیچ میں شامل نہ کر لے۔ + +#### Ethereum میں رول اپ بلاکس جمع کرنا {#submitting-blocks-to-ethereum} + +جیسا کہ ذکر کیا گیا ہے، ایک امید پسندانہ رول اپ کا آپریٹر آف چین ٹرانزیکشنز کو ایک بیچ میں بنڈل کرتا ہے اور اسے نوٹرائزیشن کے لیے Ethereum کو بھیجتا ہے۔ اس عمل میں ٹرانزیکشن سے متعلقہ ڈیٹا کو کمپریس کرنا اور اسے Ethereum پر `calldata` یا بلابز میں شائع کرنا شامل ہے۔ + +`calldata` ایک اسمارٹ کنٹریکٹ میں ایک غیر قابل ترمیم، غیر مستقل علاقہ ہے جو زیادہ تر [میموری](/developers/docs/smart-contracts/anatomy/#memory) کی طرح برتاؤ کرتا ہے۔ اگرچہ `calldata` بلاک چین کے [ہسٹری لاگز](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html?highlight=memory#logs) کے حصے کے طور پر آن چین برقرار رہتا ہے، لیکن اسے Ethereum کی اسٹیٹ کے حصے کے طور پر اسٹور نہیں کیا جاتا ہے۔ چونکہ `calldata` Ethereum کی اسٹیٹ کے کسی بھی حصے کو نہیں چھوتا، یہ آن چین ڈیٹا اسٹور کرنے کے لیے اسٹیٹ سے سستا ہے۔ + +`calldata` کلیدی لفظ Solidity میں بھی استعمال ہوتا ہے تاکہ عمل درآمد کے وقت اسمارٹ کنٹریکٹ فنکشن میں دلائل منتقل کیے جاسکیں۔ `calldata` ٹرانزیکشن کے دوران کال کیے جانے والے فنکشن کی نشاندہی کرتا ہے اور بائٹس کی ایک صوابدیدی ترتیب کی شکل میں فنکشن کے لیے ان پٹ رکھتا ہے۔ + +امید پسندانہ رول اپس کے تناظر میں، `calldata` کا استعمال کمپریسڈ ٹرانزیکشن ڈیٹا کو آن چین کنٹریکٹ میں بھیجنے کے لیے کیا جاتا ہے۔ رول اپ آپریٹر رول اپ کنٹریکٹ میں مطلوبہ فنکشن کو کال کرکے اور کمپریسڈ ڈیٹا کو فنکشن دلائل کے طور پر پاس کرکے ایک نیا بیچ شامل کرتا ہے۔ `calldata` کا استعمال صارف کی فیس کو کم کرتا ہے کیونکہ رول اپس کے زیادہ تر اخراجات آن چین ڈیٹا اسٹور کرنے سے آتے ہیں۔ + +یہاں [ایک مثال](https://eth.blockscout.com/tx/0x9102bfce17c58b5fc1c974c24b6bb7a924fb5fbd7c4cd2f675911c27422a5591) ہے کہ یہ تصور کیسے کام کرتا ہے یہ دکھانے کے لیے ایک رول اپ بیچ جمع کرنے کا۔ سیکوینسر نے `appendSequencerBatch()` طریقہ کو طلب کیا اور کمپریسڈ ٹرانزیکشن ڈیٹا کو `calldata` کا استعمال کرتے ہوئے ان پٹ کے طور پر پاس کیا۔ + +کچھ رول اپس اب Ethereum میں ٹرانزیکشنز کے بیچ پوسٹ کرنے کے لیے بلابز کا استعمال کرتے ہیں۔ + +بلابز غیر قابل ترمیم اور غیر مستقل ہیں (بالکل `calldata` کی طرح) لیکن ~18 دنوں کے بعد تاریخ سے کاٹ دیے جاتے ہیں۔ بلابز کے بارے میں مزید معلومات کے لیے، [Danksharding](/roadmap/danksharding) دیکھیں۔ + +### اسٹیٹ کمٹمنٹس {#state-commitments} + +کسی بھی وقت، امید پسندانہ رول اپ کی اسٹیٹ (اکاؤنٹس، بیلنس، کنٹریکٹ کوڈ، وغیرہ) ایک [Merkle tree](/whitepaper/#merkle-trees) کے طور پر منظم ہے جسے ”اسٹیٹ ٹری“ کہا جاتا ہے۔ اس Merkle tree کی جڑ (اسٹیٹ روٹ)، جو رول اپ کی تازہ ترین اسٹیٹ کا حوالہ دیتی ہے، کو ہیش کیا جاتا ہے اور رول اپ کنٹریکٹ میں اسٹور کیا جاتا ہے۔ چین پر ہر اسٹیٹ کی منتقلی ایک نئی رول اپ اسٹیٹ پیدا کرتی ہے، جسے ایک آپریٹر ایک نئی اسٹیٹ روٹ کا حساب لگا کر انجام دیتا ہے۔ + +بیچ پوسٹ کرتے وقت آپریٹر کو پرانی اسٹیٹ روٹس اور نئی اسٹیٹ روٹس دونوں جمع کرانے کی ضرورت ہوتی ہے۔ اگر پرانی اسٹیٹ روٹ آن چین کنٹریکٹ میں موجودہ اسٹیٹ روٹ سے میل کھاتی ہے، تو بعد والے کو مسترد کر دیا جاتا ہے اور نئی اسٹیٹ روٹ سے بدل دیا جاتا ہے۔ + +رول اپ آپریٹر کو خود ٹرانزیکشن بیچ کے لیے Merkle روٹ بھی دینا ہوتا ہے۔ یہ کسی کو بھی ایک [Merkle proof](/developers/tutorials/merkle-proofs-for-offline-data-integrity/) پیش کرکے بیچ میں (L1 پر) ٹرانزیکشن کی شمولیت کو ثابت کرنے کی اجازت دیتا ہے۔ + +اسٹیٹ کے وعدے، خاص طور پر اسٹیٹ روٹس، ایک امید پسندانہ رول اپ میں اسٹیٹ تبدیلیوں کی درستگی کو ثابت کرنے کے لیے ضروری ہیں۔ رول اپ کنٹریکٹ آپریٹرز سے نئی اسٹیٹ روٹس کو پوسٹ کیے جانے کے فوراً بعد قبول کر لیتا ہے، لیکن بعد میں رول اپ کو اس کی درست اسٹیٹ پر بحال کرنے کے لیے غلط اسٹیٹ روٹس کو حذف کر سکتا ہے۔ + +### فراڈ ثابت کرنا {#fraud-proving} + +جیسا کہ وضاحت کی گئی ہے، امید پسندانہ رول اپس کسی کو بھی موزونیت کے ثبوت فراہم کیے بغیر بلاکس شائع کرنے کی اجازت دیتے ہیں۔ تاہم، یہ یقینی بنانے کے لیے کہ چین محفوظ رہے، امید پسندانہ رول اپس ایک ٹائم ونڈو کی وضاحت کرتے ہیں جس کے دوران کوئی بھی اسٹیٹ کی منتقلی پر تنازعہ کر سکتا ہے۔ اس لیے، رول اپ بلاکس کو ”دعویٰ“ کہا جاتا ہے کیونکہ کوئی بھی ان کی موزونیت پر تنازعہ کر سکتا ہے۔ + +اگر کوئی دعویٰ پر تنازعہ کرتا ہے، تو رول اپ پروٹوکول فراڈ پروف کمپیوٹیشن شروع کرے گا۔ ہر قسم کا فراڈ پروف انٹرایکٹو ہوتا ہے— کسی کو دعویٰ پوسٹ کرنا چاہیے اس سے پہلے کہ کوئی دوسرا اسے چیلنج کر سکے۔ فرق اس بات میں ہے کہ فراڈ پروف کا حساب لگانے کے لیے کتنے راؤنڈز کے تعامل کی ضرورت ہے۔ + +سنگل راؤنڈ انٹرایکٹو پروفنگ اسکیمیں غلط دعووں کا پتہ لگانے کے لیے L1 پر متنازعہ ٹرانزیکشنز کو دوبارہ چلاتی ہیں۔ رول اپ پروٹوکول ایک تصدیق کنندہ کنٹریکٹ کا استعمال کرتے ہوئے L1 (Ethereum) پر متنازعہ ٹرانزیکشن کے دوبارہ نفاذ کی تقلید کرتا ہے، جس میں کمپیوٹ کی گئی اسٹیٹ روٹ یہ طے کرتی ہے کہ چیلنج کون جیتتا ہے۔ اگر چیلنجر کا رول اپ کی درست اسٹیٹ کے بارے میں دعویٰ درست ہے، تو آپریٹر کو اس کے بانڈ کو سلیش کر کے جرمانہ کیا جاتا ہے۔ + +تاہم، فراڈ کا پتہ لگانے کے لیے L1 پر ٹرانزیکشنز کو دوبارہ انجام دینے کے لیے انفرادی ٹرانزیکشنز کے لیے اسٹیٹ کے وعدوں کو شائع کرنے کی ضرورت ہوتی ہے اور اس ڈیٹا میں اضافہ ہوتا ہے جسے رول اپس کو آن چین شائع کرنا چاہیے۔ ٹرانزیکشنز کو دوبارہ چلانے میں بھی گیس کے اہم اخراجات آتے ہیں۔ ان وجوہات کی بنا پر، امید پسندانہ رول اپس ملٹی راؤنڈ انٹرایکٹو پروفنگ کی طرف منتقل ہو رہے ہیں، جو زیادہ کارکردگی کے ساتھ اسی مقصد (یعنی، غلط رول اپ آپریشنز کا پتہ لگانا) کو حاصل کرتا ہے۔ + +#### ملٹی راؤنڈ انٹرایکٹو پروفنگ {#multi-round-interactive-proving} + +ملٹی راؤنڈ انٹرایکٹو پروفنگ میں دعویدار اور چیلنجر کے درمیان ایک آگے پیچھے کا پروٹوکول شامل ہوتا ہے جس کی نگرانی L1 تصدیق کنندہ کنٹریکٹ کرتا ہے، جو بالآخر جھوٹی پارٹی کا فیصلہ کرتا ہے۔ L2 نوڈ کے دعویٰ کو چیلنج کرنے کے بعد، دعویدار کو متنازعہ دعویٰ کو دو برابر حصوں میں تقسیم کرنے کی ضرورت ہوتی ہے۔ اس معاملے میں ہر انفرادی دعویٰ میں اتنے ہی کمپیوٹیشن کے مراحل ہوں گے جتنے دوسرے میں۔ + +چیلنجر پھر انتخاب کرے گا کہ وہ کس دعوے کو چیلنج کرنا چاہتا ہے۔ تقسیم کا عمل (جسے ”بائیسیکشن پروٹوکول“ کہا جاتا ہے) اس وقت تک جاری رہتا ہے جب تک کہ دونوں فریقین عمل درآمد کے _ایک_ مرحلے کے بارے میں دعوے پر تنازعہ نہ کر رہے ہوں۔ اس موقع پر، L1 کنٹریکٹ دھوکہ دہی والی پارٹی کو پکڑنے کے لیے ہدایت (اور اس کے نتیجے) کا جائزہ لے کر تنازعہ کو حل کرے گا۔ + +دعویدار کو متنازعہ سنگل اسٹیپ کمپیوٹیشن کی موزونیت کی تصدیق کرنے والا ”ایک قدمی ثبوت“ فراہم کرنے کی ضرورت ہے۔ اگر دعویدار ایک قدمی ثبوت فراہم کرنے میں ناکام رہتا ہے، یا L1 تصدیق کنندہ ثبوت کو غلط سمجھتا ہے، تو وہ چیلنج ہار جاتے ہیں۔ + +اس قسم کے فراڈ پروف کے بارے میں کچھ نوٹس: + +1. ملٹی راؤنڈ انٹرایکٹو فراڈ پروفنگ کو موثر سمجھا جاتا ہے کیونکہ یہ اس کام کو کم کرتا ہے جو L1 چین کو تنازعہ ثالثی میں کرنا چاہیے۔ پورے ٹرانزیکشن کو دوبارہ چلانے کے بجائے، L1 چین کو صرف رول اپ کے عمل درآمد میں ایک قدم کو دوبارہ انجام دینے کی ضرورت ہے۔ + +2. بائیسیکشن پروٹوکول آن چین پوسٹ کیے گئے ڈیٹا کی مقدار کو کم کرتے ہیں (ہر ٹرانزیکشن کے لیے اسٹیٹ کمٹ شائع کرنے کی ضرورت نہیں)۔ اس کے علاوہ، امید پسندانہ رول اپ ٹرانزیکشنز Ethereum کی گیس کی حد سے محدود نہیں ہیں۔ اس کے برعکس، امید پسندانہ رول اپس ٹرانزیکشنز کو دوبارہ انجام دینے کے لیے یہ یقینی بنانا چاہیے کہ L2 ٹرانزیکشن میں ایک ہی Ethereum ٹرانزیکشن کے اندر اس کے عمل درآمد کی تقلید کے لیے کم گیس کی حد ہے۔ + +3. بدنیتی پر مبنی دعویدار کے بانڈ کا کچھ حصہ چیلنجر کو دیا جاتا ہے، جبکہ دوسرا حصہ جلا دیا جاتا ہے۔ جلنا ویلیڈیٹرز کے درمیان ملی بھگت کو روکتا ہے؛ اگر دو ویلیڈیٹرز بوگس چیلنجز شروع کرنے کے لیے ملی بھگت کرتے ہیں، تو وہ پھر بھی پورے اسٹیک کا ایک بڑا حصہ ضبط کر لیں گے۔ + +4. ملٹی راؤنڈ انٹرایکٹو پروفنگ کے لیے دونوں فریقین (دعویدار اور چیلنجر) کو مقررہ وقت کی کھڑکی کے اندر حرکت کرنے کی ضرورت ہوتی ہے۔ آخری تاریخ سے پہلے کارروائی کرنے میں ناکامی سے ڈیفالٹ کرنے والی پارٹی چیلنج ہار جاتی ہے۔ + +#### امید پسندانہ رول اپس کے لیے فراڈ پروف کیوں اہم ہیں {#fraud-proof-benefits} + +فراڈ پروف اہم ہیں کیونکہ وہ امید پسندانہ رول اپس میں _ٹرسٹ لیس فائنلٹی_ کی سہولت فراہم کرتے ہیں۔ ٹرسٹ لیس فائنلٹی امید پسندانہ رول اپس کا ایک معیار ہے جو اس بات کی ضمانت دیتا ہے کہ ایک ٹرانزیکشن— جب تک کہ یہ درست ہے— بالآخر تصدیق ہو جائے گا۔ + +بدنیتی پر مبنی نوڈس جھوٹے چیلنجز شروع کرکے ایک درست رول اپ بلاک کی تصدیق میں تاخیر کرنے کی کوشش کر سکتے ہیں۔ تاہم، فراڈ پروف بالآخر رول اپ بلاک کی موزونیت کو ثابت کریں گے اور اس کی تصدیق کا سبب بنیں گے۔ + +اس کا تعلق امید پسندانہ رول اپس کی ایک اور سیکیورٹی پراپرٹی سے بھی ہے: چین کی موزونیت _ایک_ ایماندار نوڈ کے وجود پر منحصر ہے۔ ایماندار نوڈ درست دعوے پوسٹ کرکے یا غلط دعووں پر تنازعہ کرکے چین کو صحیح طریقے سے آگے بڑھا سکتا ہے۔ جو بھی معاملہ ہو، بدنیتی پر مبنی نوڈس جو ایماندار نوڈ کے ساتھ تنازعات میں داخل ہوتے ہیں، وہ فراڈ پروفنگ کے عمل کے دوران اپنے اسٹیک کھو دیں گے۔ + +### L1/L2 انٹرآپریبلٹی {#l1-l2-interoperability} + +امید پسندانہ رول اپس Ethereum Mainnet کے ساتھ انٹرآپریبلٹی کے لیے ڈیزائن کیے گئے ہیں اور صارفین کو L1 اور L2 کے درمیان پیغامات اور صوابدیدی ڈیٹا منتقل کرنے کی اجازت دیتے ہیں۔ وہ EVM کے ساتھ بھی مطابقت رکھتے ہیں، لہذا آپ موجودہ [dapps](/developers/docs/dapps/) کو امید پسندانہ رول اپس میں پورٹ کرسکتے ہیں یا Ethereum ڈیولپمنٹ ٹولز کا استعمال کرکے نئے dapps بناسکتے ہیں۔ + +#### 1۔ اثاثوں کی نقل و حرکت {#asset-movement} + +##### رول اپ میں داخل ہونا + +امید پسندانہ رول اپ استعمال کرنے کے لیے، صارفین ETH, ERC-20 ٹوکنز، اور دیگر قبول شدہ اثاثے L1 پر رول اپ کے [برج](/developers/docs/bridges/) کنٹریکٹ میں جمع کرتے ہیں۔ برج کنٹریکٹ ٹرانزیکشن کو L2 پر ریلے کرے گا، جہاں اثاثوں کی مساوی رقم منٹ کی جائے گی اور امید پسندانہ رول اپ پر صارف کے منتخب کردہ پتے پر بھیجی جائے گی۔ + +صارف کے ذریعہ تیار کردہ ٹرانزیکشنز (جیسے L1 > L2 ڈپازٹ) عام طور پر اس وقت تک قطار میں رہتی ہیں جب تک کہ سیکوینسر انہیں رول اپ کنٹریکٹ میں دوبارہ جمع نہیں کرتا۔ تاہم، سنسرشپ مزاحمت کو برقرار رکھنے کے لیے، امید پسندانہ رول اپس صارفین کو براہ راست آن چین رول اپ کنٹریکٹ میں ٹرانزیکشن جمع کرانے کی اجازت دیتے ہیں اگر اس میں زیادہ سے زیادہ اجازت یافتہ وقت سے زیادہ تاخیر ہوئی ہو۔ + +کچھ امید پسندانہ رول اپس سیکوینسرز کو صارفین کو سنسر کرنے سے روکنے کے لیے ایک زیادہ سیدھا سادا طریقہ اپناتے ہیں۔ یہاں، ایک بلاک کی تعریف پچھلے بلاک (مثلاً، ڈپازٹس) کے بعد سے L1 کنٹریکٹ میں جمع کرائے گئے تمام ٹرانزیکشنز کے علاوہ رول اپ چین پر کارروائی کیے گئے ٹرانزیکشنز کے ذریعے کی جاتی ہے۔ اگر کوئی سیکوینسر L1 ٹرانزیکشن کو نظر انداز کرتا ہے، تو وہ (ثابت شدہ) غلط اسٹیٹ روٹ شائع کرے گا؛ لہذا، سیکوینسرز L1 پر پوسٹ ہونے کے بعد صارف کے ذریعہ تیار کردہ پیغامات میں تاخیر نہیں کر سکتے ہیں۔ + +##### رول اپ سے باہر نکلنا + +فراڈ پروفنگ اسکیم کی وجہ سے امید پسندانہ رول اپ سے Ethereum میں واپس نکلنا زیادہ مشکل ہے۔ اگر کوئی صارف L1 پر ایسکرو شدہ فنڈز نکالنے کے لیے L2 > L1 ٹرانزیکشن شروع کرتا ہے، تو اسے چیلنج کی مدت— تقریباً سات دن تک— ختم ہونے تک انتظار کرنا ہوگا۔ بہر حال، واپسی کا عمل خود کافی سیدھا ہے۔ + +L2 رول اپ پر واپسی کی درخواست شروع ہونے کے بعد، ٹرانزیکشن کو اگلے بیچ میں شامل کیا جاتا ہے، جبکہ رول اپ پر صارف کے اثاثے جلا دیے جاتے ہیں۔ ایک بار جب بیچ Ethereum پر شائع ہو جاتا ہے، تو صارف بلاک میں اپنی خارجی ٹرانزیکشن کی شمولیت کی تصدیق کرنے والے Merkle پروف کا حساب لگا سکتا ہے۔ پھر L1 پر ٹرانزیکشن کو حتمی شکل دینے اور Mainnet میں فنڈز نکالنے کے لیے تاخیر کی مدت کا انتظار کرنا پڑتا ہے۔ + +Ethereum میں فنڈز نکالنے سے پہلے ایک ہفتہ انتظار کرنے سے بچنے کے لیے، امید پسندانہ رول اپ صارفین **لیکویڈیٹی پرووائیڈر** (LP) کا استعمال کر سکتے ہیں۔ ایک لیکویڈیٹی پرووائیڈر زیر التواء L2 واپسی کی ملکیت سنبھالتا ہے اور صارف کو L1 پر (فیس کے بدلے) ادائیگی کرتا ہے۔ + +لیکویڈیٹی پرووائیڈرز فنڈز جاری کرنے سے پہلے صارف کی واپسی کی درخواست کی موزونیت کی جانچ کر سکتے ہیں (خود چین کو انجام دے کر)۔ اس طرح انہیں یقین دہانی ہوتی ہے کہ ٹرانزیکشن بالآخر تصدیق ہو جائے گا (یعنی، ٹرسٹ لیس فائنلٹی)۔ + +#### 2۔ EVM مطابقت {#evm-compatibility} + +ڈویلپرز کے لیے، امید پسندانہ رول اپس کا فائدہ [Ethereum Virtual Machine (EVM)](/developers/docs/evm/) کے ساتھ ان کی مطابقت—یا، اس سے بھی بہتر، مساوات— ہے۔ EVM-مطابق رول اپس [Ethereum Yellow Paper](https://ethereum.github.io/yellowpaper/paper.pdf) میں دی گئی خصوصیات کی تعمیل کرتے ہیں اور بائٹ کوڈ کی سطح پر EVM کو سپورٹ کرتے ہیں۔ + +امید پسندانہ رول اپس میں EVM-مطابقت کے درج ذیل فوائد ہیں: + +i. ڈویلپرز Ethereum پر موجودہ اسمارٹ کنٹریکٹس کو کوڈ بیسز میں بڑے پیمانے پر ترمیم کیے بغیر امید پسندانہ رول اپ چینز میں منتقل کر سکتے ہیں۔ یہ L2 پر Ethereum اسمارٹ کنٹریکٹس کو تعینات کرتے وقت ڈیولپمنٹ ٹیموں کا وقت بچا سکتا ہے۔ + +ii. امید پسندانہ رول اپس کا استعمال کرنے والے ڈویلپرز اور پروجیکٹ ٹیمیں Ethereum کے بنیادی ڈھانچے سے فائدہ اٹھا سکتی ہیں۔ اس میں پروگرامنگ زبانیں، کوڈ لائبریریاں، ٹیسٹنگ ٹولز، کلائنٹ سافٹ ویئر، تعیناتی کا بنیادی ڈھانچہ وغیرہ شامل ہیں۔ + +موجودہ ٹولنگ کا استعمال اہم ہے کیونکہ ان ٹولز کا برسوں سے وسیع پیمانے پر آڈٹ، ڈیبگ اور بہتر کیا گیا ہے۔ یہ Ethereum ڈویلپرز کے لیے ایک بالکل نئے ڈیولپمنٹ اسٹیک کے ساتھ تعمیر کرنے کا طریقہ سیکھنے کی ضرورت کو بھی دور کرتا ہے۔ + +#### 3۔ کراس چین کنٹریکٹ کالز {#cross-chain-contract-calls} + +صارفین (بیرونی طور پر ملکیت والے اکاؤنٹس) L2 کنٹریکٹس کے ساتھ رول اپ کنٹریکٹ میں ٹرانزیکشن جمع کر کے یا سیکوینسر یا ویلیڈیٹر سے کروا کر تعامل کرتے ہیں۔ امید پسندانہ رول اپس Ethereum پر کنٹریکٹ اکاؤنٹس کو L1 اور L2 کے درمیان پیغامات کو ریلے کرنے اور ڈیٹا منتقل کرنے کے لیے برجنگ کنٹریکٹس کا استعمال کرتے ہوئے L2 کنٹریکٹس کے ساتھ تعامل کرنے کی بھی اجازت دیتے ہیں۔ اس کا مطلب ہے کہ آپ Ethereum Mainnet پر ایک L1 کنٹریکٹ کو پروگرام کر سکتے ہیں تاکہ L2 امید پسندانہ رول اپ پر کنٹریکٹس سے تعلق رکھنے والے فنکشنز کو طلب کیا جا سکے۔ + +کراس چین کنٹریکٹ کالز غیر مطابقت پذیر طور پر ہوتی ہیں— یعنی کال پہلے شروع کی جاتی ہے، پھر بعد میں عمل میں لائی جاتی ہے۔ یہ Ethereum پر دو کنٹریکٹس کے درمیان کالز سے مختلف ہے، جہاں کال فوری طور پر نتائج پیدا کرتی ہے۔ + +کراس چین کنٹریکٹ کال کی ایک مثال پہلے بیان کردہ ٹوکن ڈپازٹ ہے۔ L1 پر ایک کنٹریکٹ صارف کے ٹوکنز کو ایسکرو کرتا ہے اور ایک جوڑے والے L2 کنٹریکٹ کو ایک پیغام بھیجتا ہے تاکہ رول اپ پر ٹوکنز کی مساوی رقم منٹ کی جا سکے۔ + +چونکہ کراس چین میسج کالز کے نتیجے میں کنٹریکٹ پر عمل درآمد ہوتا ہے، بھیجنے والے کو عام طور پر کمپیوٹیشن کے لیے [گیس کے اخراجات](/developers/docs/gas/) کو پورا کرنے کی ضرورت ہوتی ہے۔ ٹرانزیکشن کو ٹارگٹ چین پر ناکام ہونے سے بچانے کے لیے ایک اعلیٰ گیس کی حد مقرر کرنے کا مشورہ دیا جاتا ہے۔ ٹوکن برجنگ کا منظرنامہ ایک اچھی مثال ہے؛ اگر ٹرانزیکشن کا L1 حصہ (ٹوکنز جمع کرنا) کام کرتا ہے، لیکن L2 حصہ (نئے ٹوکنز منٹ کرنا) کم گیس کی وجہ سے ناکام ہو جاتا ہے، تو ڈپازٹ ناقابل وصول ہو جاتا ہے۔ + +آخر میں، ہمیں یہ نوٹ کرنا چاہیے کہ کنٹریکٹس کے درمیان L2 > L1 میسج کالز کو تاخیر کا حساب دینا ہوگا (L1 > L2 کالز عام طور پر کچھ منٹ بعد عمل میں لائی جاتی ہیں)۔ اس کی وجہ یہ ہے کہ امید پسندانہ رول اپ سے Mainnet کو بھیجے گئے پیغامات اس وقت تک عمل میں نہیں لائے جا سکتے جب تک کہ چیلنج ونڈو کی میعاد ختم نہ ہو جائے۔ + +## امید پسندانہ رول اپ فیس کیسے کام کرتی ہے؟ {#how-do-optimistic-rollup-fees-work} + +امید پسندانہ رول اپس ایک گیس فیس اسکیم کا استعمال کرتے ہیں، بالکل Ethereum کی طرح، یہ ظاہر کرنے کے لیے کہ صارفین فی ٹرانزیکشن کتنا ادائیگی کرتے ہیں۔ امید پسندانہ رول اپس پر وصول کی جانے والی فیس درج ذیل اجزاء پر منحصر ہے: + +1. **اسٹیٹ رائٹ**: امید پسندانہ رول اپس ٹرانزیکشن ڈیٹا اور بلاک ہیڈرز (پچھلے بلاک ہیڈر ہیش، اسٹیٹ روٹ، بیچ روٹ پر مشتمل) کو Ethereum پر ایک `blob`، یا "بائنری لارج آبجیکٹ" کے طور پر شائع کرتے ہیں۔ [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844) نے آن چین ڈیٹا شامل کرنے کے لیے ایک سستا حل متعارف کرایا۔ ایک `blob` ایک نیا ٹرانزیکشن فیلڈ ہے جو رول اپس کو کمپریسڈ اسٹیٹ ٹرانزیشن ڈیٹا کو Ethereum L1 پر پوسٹ کرنے کی اجازت دیتا ہے۔ `calldata` کے برعکس، جو مستقل طور پر آن چین رہتا ہے، بلابز قلیل مدتی ہوتے ہیں اور [4096 epochs](https://github.com/ethereum/consensus-specs/blob/81f3ea8322aff6b9fb15132d050f8f98b16bdba4/configs/mainnet.yaml#L147) (تقریباً 18 دن) کے بعد کلائنٹس سے کاٹے جا سکتے ہیں۔ کمپریسڈ ٹرانزیکشنز کے بیچ پوسٹ کرنے کے لیے بلابز کا استعمال کرکے، امید پسندانہ رول اپس L1 پر ٹرانزیکشنز لکھنے کی لاگت کو نمایاں طور پر کم کرسکتے ہیں۔ + +2. **استعمال شدہ بلاب گیس**: بلاب لے جانے والے ٹرانزیکشنز [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) کے ذریعہ متعارف کرائے گئے ایک متحرک فیس میکانزم کا استعمال کرتے ہیں۔ ٹائپ-3 ٹرانزیکشنز کے لیے گیس فیس بلابز کے لیے بیس فیس کو مدنظر رکھتی ہے، جس کا تعین نیٹ ورک بلاب-اسپیس کی طلب اور بھیجے جانے والے ٹرانزیکشن کے بلاب-اسپیس کے استعمال کی بنیاد پر کرتا ہے۔ + +3. **L2 آپریٹر فیس**: یہ وہ رقم ہے جو رول اپ نوڈس کو ٹرانزیکشنز پر کارروائی میں ہونے والے کمپیوٹیشنل اخراجات کے معاوضے کے طور پر ادا کی جاتی ہے، بالکل Ethereum پر گیس فیس کی طرح۔ رول اپ نوڈس کم ٹرانزیکشن فیس وصول کرتے ہیں کیونکہ L2s میں زیادہ پروسیسنگ کی صلاحیت ہوتی ہے اور انہیں نیٹ ورک کی بھیڑ کا سامنا نہیں کرنا پڑتا ہے جو Ethereum پر ویلیڈیٹرز کو زیادہ فیس والے ٹرانزیکشنز کو ترجیح دینے پر مجبور کرتی ہے۔ + +امید پسندانہ رول اپس صارفین کے لیے فیس کم کرنے کے لیے کئی میکانزم کا اطلاق کرتے ہیں، بشمول ٹرانزیکشنز کو بیچ کرنا اور ڈیٹا پبلیکیشن کے اخراجات کو کم کرنے کے لیے `calldata` کو کمپریس کرنا۔ Ethereum پر مبنی امید پسندانہ رول اپس استعمال کرنے میں کتنا خرچ آتا ہے اس کا حقیقی وقت کا جائزہ لینے کے لیے آپ [L2 فیس ٹریکر](https://l2fees.info/) کو چیک کر سکتے ہیں۔ + +## امید پسندانہ رول اپس Ethereum کو کیسے اسکیل کرتے ہیں؟ {#scaling-ethereum-with-optimistic-rollups} + +جیسا کہ وضاحت کی گئی ہے، امید پسندانہ رول اپس ڈیٹا کی دستیابی کی ضمانت کے لیے Ethereum پر کمپریسڈ ٹرانزیکشن ڈیٹا شائع کرتے ہیں۔ آن چین شائع کردہ ڈیٹا کو کمپریس کرنے کی صلاحیت امید پسندانہ رول اپس کے ساتھ Ethereum پر تھرو پٹ کو اسکیل کرنے کے لیے اہم ہے۔ + +مرکزی Ethereum چین اس بات کی حدود لگاتی ہے کہ بلاکس کتنا ڈیٹا رکھ سکتے ہیں، جو گیس یونٹس میں ظاہر ہوتا ہے ([اوسط بلاک سائز](/developers/docs/blocks/#block-size) 15 ملین گیس ہے)۔ اگرچہ یہ ہر ٹرانزیکشن کے لیے استعمال ہونے والی گیس کی مقدار کو محدود کرتا ہے، اس کا مطلب یہ بھی ہے کہ ہم ٹرانزیکشن سے متعلقہ ڈیٹا کو کم کرکے فی بلاک پروسیس ہونے والے ٹرانزیکشنز کو بڑھا سکتے ہیں— جس سے براہ راست اسکیل ایبلٹی میں بہتری آتی ہے۔ + +امید پسندانہ رول اپس ٹرانزیکشن ڈیٹا کمپریشن حاصل کرنے اور TPS کی شرحوں کو بہتر بنانے کے لیے کئی تکنیکوں کا استعمال کرتے ہیں۔ مثال کے طور پر، یہ [مضمون](https://vitalik.eth.limo/general/2021/01/05/rollup.html) اس بات کا موازنہ کرتا ہے کہ ایک بنیادی صارف ٹرانزیکشن (ایتھر بھیجنا) Mainnet پر کتنا ڈیٹا پیدا کرتا ہے بمقابلہ وہی ٹرانزیکشن رول اپ پر کتنا ڈیٹا پیدا کرتا ہے: + +| پیرامیٹر | ایتھیریم (L1) | رول اپ (L2) | +| -------- | ---------------------------------------------------- | ------------------------------------ | +| نونس | ~3 | 0 | +| Gasprice | ~8 | 0-0.5 | +| گیس | 3 | 0-0.5 | +| کو | 21 | 4 | +| قدر | 9 | ~3 | +| دستخط | ~68 (2 + 33 + 33) | ~0.5 | +| سے | 0 (sig سے بازیافت) | 4 | +| **کل** | **~112 بائٹس** | **~12 بائٹس** | + +ان اعداد و شمار پر کچھ موٹے حسابات کرنے سے ایک امید پسندانہ رول اپ کے ذریعہ فراہم کردہ اسکیل ایبلٹی میں بہتری کو ظاہر کرنے میں مدد مل سکتی ہے: + +1. ہر بلاک کے لیے ہدف کا سائز 15 ملین گیس ہے اور ایک بائٹ ڈیٹا کی تصدیق کے لیے 16 گیس خرچ ہوتی ہے۔ اوسط بلاک سائز کو 16 گیس سے تقسیم کرنا (15,000,000/16) ظاہر کرتا ہے کہ اوسط بلاک **937,500 بائٹس ڈیٹا** رکھ سکتا ہے۔ +2. اگر ایک بنیادی رول اپ ٹرانزیکشن میں 12 بائٹس استعمال ہوتی ہیں، تو اوسط Ethereum بلاک **78,125 رول اپ ٹرانزیکشنز** (937,500/12) یا **39 رول اپ بیچز** پر کارروائی کر سکتا ہے (اگر ہر بیچ میں اوسطاً 2,000 ٹرانزیکشنز ہوں)۔ +3. اگر Ethereum پر ہر 15 سیکنڈ میں ایک نیا بلاک تیار ہوتا ہے، تو رول اپ کی پروسیسنگ کی رفتار تقریباً **5,208 ٹرانزیکشنز فی سیکنڈ** ہوگی۔ یہ Ethereum بلاک میں رکھے جا سکنے والے بنیادی رول اپ ٹرانزیکشنز کی تعداد (**78,125**) کو اوسط بلاک ٹائم (**15 سیکنڈ**) سے تقسیم کرکے کیا جاتا ہے۔ + +یہ ایک کافی امید پسندانہ تخمینہ ہے، اس بات کو مدنظر رکھتے ہوئے کہ امید پسندانہ رول اپ ٹرانزیکشنز ممکنہ طور پر Ethereum پر ایک پورا بلاک نہیں بنا سکتے ہیں۔ تاہم، یہ ایک موٹا اندازہ دے سکتا ہے کہ امید پسندانہ رول اپس Ethereum صارفین کو کتنی اسکیل ایبلٹی حاصل کر سکتے ہیں (موجودہ نفاذ 2,000 TPS تک پیش کرتے ہیں)۔ + +Ethereum پر [ڈیٹا شارڈنگ](/roadmap/danksharding/) کے تعارف سے امید پسندانہ رول اپس میں اسکیل ایبلٹی میں بہتری کی توقع ہے۔ چونکہ رول اپ ٹرانزیکشنز کو دیگر غیر رول اپ ٹرانزیکشنز کے ساتھ بلاک اسپیس کا اشتراک کرنا پڑتا ہے، ان کی پروسیسنگ کی صلاحیت مرکزی Ethereum چین پر ڈیٹا تھرو پٹ سے محدود ہے۔ Danksharding L2 چینز کے لیے مہنگے، مستقل `CALLDATA` کے بجائے سستے، غیر مستقل "بلاب" اسٹوریج کا استعمال کرتے ہوئے، فی بلاک ڈیٹا شائع کرنے کے لیے دستیاب جگہ میں اضافہ کرے گا۔ + +### امید پسندانہ رول اپس کے فوائد اور نقصانات {#optimistic-rollups-pros-and-cons} + +| فوائد | نقصانات | +| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| سیکیورٹی یا بھروسے کی ضرورت کو قربان کیے بغیر اسکیل ایبلٹی میں بڑے پیمانے پر بہتری کی پیشکش کرتا ہے۔ | ممکنہ فراڈ چیلنجز کی وجہ سے ٹرانزیکشن کی حتمیت میں تاخیر۔ | +| ٹرانزیکشن ڈیٹا لیئر 1 چین پر اسٹور کیا جاتا ہے، جس سے شفافیت، سیکیورٹی، سنسرشپ مزاحمت، اور وکندریقرت میں بہتری آتی ہے۔ | مرکزی رول اپ آپریٹرز (سیکوینسرز) ٹرانزیکشن کی ترتیب کو متاثر کر سکتے ہیں۔ | +| فراڈ پروفنگ بھروسے کی ضرورت کے بغیر حتمیت کی ضمانت دیتا ہے اور ایماندار اقلیتوں کو چین کو محفوظ بنانے کی اجازت دیتا ہے۔ | اگر کوئی ایماندار نوڈ نہیں ہے تو ایک بدنیتی پر مبنی آپریٹر غلط بلاکس اور اسٹیٹ کمٹمنٹ پوسٹ کرکے فنڈز چرا سکتا ہے۔ | +| فراڈ پروف کا حساب لگانا باقاعدہ L2 نوڈ کے لیے کھلا ہے، موزونیت کے ثبوت (ZK-rollups میں استعمال ہونے والے) کے برعکس جن کے لیے خصوصی ہارڈ ویئر کی ضرورت ہوتی ہے۔ | سیکیورٹی ماڈل کم از کم ایک ایماندار نوڈ پر منحصر ہے جو رول اپ ٹرانزیکشنز کو انجام دیتا ہے اور غلط اسٹیٹ ٹرانزیشنز کو چیلنج کرنے کے لیے فراڈ پروف جمع کرتا ہے۔ | +| رول اپس کو "ٹرسٹ لیس لائیونیس" سے فائدہ ہوتا ہے (کوئی بھی ٹرانزیکشنز کو انجام دے کر اور دعوے پوسٹ کرکے چین کو آگے بڑھانے پر مجبور کرسکتا ہے) | صارفین کو Ethereum میں فنڈز واپس نکالنے سے پہلے ایک ہفتے کی چیلنج کی مدت ختم ہونے کا انتظار کرنا پڑتا ہے۔ | +| امید پسندانہ رول اپس چین پر سیکیورٹی بڑھانے کے لیے اچھی طرح سے ڈیزائن کردہ کرپٹو اکنامک ترغیبات پر انحصار کرتے ہیں۔ | رول اپس کو تمام ٹرانزیکشن ڈیٹا آن چین پوسٹ کرنا پڑتا ہے، جس سے اخراجات بڑھ سکتے ہیں۔ | +| EVM اور Solidity کے ساتھ مطابقت ڈویلپرز کو Ethereum-مقامی اسمارٹ کنٹریکٹس کو رول اپس میں پورٹ کرنے یا نئے dapps بنانے کے لیے موجودہ ٹولنگ کا استعمال کرنے کی اجازت دیتی ہے۔ | | + +### امید پسندانہ رول اپس کی ایک بصری وضاحت {#optimistic-video} + +کیا آپ زیادہ بصری سیکھنے والے ہیں؟ Finematics کو امید پسندانہ رول اپس کی وضاحت کرتے ہوئے دیکھیں: + + + +## امید پسندانہ رول اپس پر مزید پڑھیں + +- [امید پسندانہ رول اپس کیسے کام کرتے ہیں (مکمل گائیڈ)](https://www.alchemy.com/overviews/optimistic-rollups) +- [بلاک چین رول اپ کیا ہے؟ ایک تکنیکی تعارف](https://www.ethereum-ecosystem.com/blog/what-is-a-blockchain-rollup-a-technical-introduction) +- [آربیٹرم کے لیے ضروری گائیڈ](https://www.bankless.com/the-essential-guide-to-arbitrum) +- [ایتھیریم رولپس کے لیے عملی گائیڈ](https://web.archive.org/web/20241108192208/https://research.2077.xyz/the-practical-guide-to-ethereum-rollups) +- [ایتھیریم L2s میں فراڈ پروف کی حالت](https://web.archive.org/web/20241124154627/https://research.2077.xyz/the-state-of-fraud-proofs-in-ethereum-l2s) +- [امید پرستی کا رول اپ واقعی کیسے کام کرتا ہے؟](https://www.paradigm.xyz/2021/01/how-does-optimism-s-rollup-really-work) +- [OVM ڈیپ ڈائیو](https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52) +- [امید پسندانہ ورچوئل مشین کیا ہے؟](https://www.alchemy.com/overviews/optimistic-virtual-machine) diff --git a/public/content/translations/ur/developers/docs/scaling/plasma/index.md b/public/content/translations/ur/developers/docs/scaling/plasma/index.md new file mode 100644 index 00000000000..680beea6b92 --- /dev/null +++ b/public/content/translations/ur/developers/docs/scaling/plasma/index.md @@ -0,0 +1,176 @@ +--- +title: "پلازما چینز" +description: "ایتھیریم کمیونٹی کی جانب سے فی الحال استعمال ہونے والے اسکیلنگ حل کے طور پر پلازما چینز کا تعارف۔" +lang: ur-in +incomplete: true +sidebarDepth: 3 +--- + +ایک پلازما چین ایک علیحدہ بلاک چین ہے جو Ethereum Mainnet سے منسلک ہے لیکن بلاک کی توثیق کے لیے اپنے میکانزم کے ساتھ آف چین ٹرانزیکشنز کو انجام دیتی ہے۔ پلازما چینز کو کبھی کبھی "چائلڈ" چینز بھی کہا جاتا ہے، جو بنیادی طور پر Ethereum Mainnet کی چھوٹی کاپیاں ہوتی ہیں۔ پلازما چینز تنازعات کو حل کرنے کے لیے [fraud proofs](/glossary/#fraud-proof) (جیسے [optimistic rollups](/developers/docs/scaling/optimistic-rollups/)) کا استعمال کرتی ہیں۔ + +مرکل ٹریز ان چینز کا ایک لامتناہی اسٹیک بنانے کے قابل بناتے ہیں جو پیرنٹ چینز (بشمول Ethereum Mainnet) سے بینڈوتھ کو آف لوڈ کرنے کے لیے کام کر سکتی ہیں۔ تاہم، جب کہ یہ چینز Ethereum سے کچھ سیکورٹی حاصل کرتی ہیں (fraud proofs کے ذریعے)، ان کی سیکورٹی اور کارکردگی کئی ڈیزائن کی حدود سے متاثر ہوتی ہے۔ + +## شرائط {#prerequisites} + +آپ کو تمام بنیادی موضوعات کی اچھی سمجھ اور [Ethereum اسکیلنگ](/developers/docs/scaling/) کی اعلیٰ سطحی سمجھ ہونی چاہیے۔ + +## پلازما کیا ہے؟ + +پلازما Ethereum جیسے عوامی بلاک چینز میں اسکیل ایبلٹی کو بہتر بنانے کا ایک فریم ورک ہے۔ جیسا کہ اصل [Plasma وائٹ پیپر](http://plasma.io/plasma.pdf) میں بیان کیا گیا ہے، پلازما چینز ایک دوسرے بلاک چین (جسے "روٹ چین" کہا جاتا ہے) کے اوپر بنائی گئی ہیں۔ ہر "چائلڈ چین" روٹ چین سے پھیلتی ہے اور عام طور پر پیرنٹ چین پر تعینات اسمارٹ کنٹریکٹ کے ذریعے اس کا انتظام کیا جاتا ہے۔ + +پلازما کنٹریکٹ دیگر چیزوں کے علاوہ، ایک [برج](/developers/docs/bridges/) کے طور پر کام کرتا ہے جو صارفین کو Ethereum Mainnet اور پلازما چین کے درمیان اثاثوں کو منتقل کرنے کی اجازت دیتا ہے۔ اگرچہ یہ انہیں [سائیڈ چینز](/developers/docs/scaling/sidechains/) کی طرح بناتا ہے، پلازما چینز کو — کم از کم، کسی حد تک — Ethereum Mainnet کی سیکورٹی سے فائدہ ہوتا ہے۔ یہ ان سائیڈ چینز کے برعکس ہے جو صرف اپنی سیکورٹی کے لیے ذمہ دار ہیں۔ + +## پلازما کیسے کام کرتا ہے؟ + +پلازما فریم ورک کے بنیادی اجزاء یہ ہیں: + +### آف چین کمپیوٹیشن {#offchain-computation} + +Ethereum کی موجودہ پروسیسنگ کی رفتار ~ 15-20 ٹرانزیکشنز فی سیکنڈ تک محدود ہے، جس سے زیادہ صارفین کو سنبھالنے کے لیے اسکیلنگ کے قلیل مدتی امکانات کم ہو جاتے ہیں۔ یہ مسئلہ بنیادی طور پر اس لیے موجود ہے کیونکہ Ethereum کے [اتفاق رائے کے میکانزم](/developers/docs/consensus-mechanisms/) کو بلاک چین کی حالت میں ہر اپ ڈیٹ کی تصدیق کے لیے بہت سے پیئر ٹو پیئر نوڈس کی ضرورت ہوتی ہے۔ + +اگرچہ Ethereum کا اتفاق رائے کا میکانزم سیکورٹی کے لیے ضروری ہے، لیکن ہو سکتا ہے کہ یہ ہر استعمال کے معاملے پر لاگو نہ ہو۔ مثال کے طور پر، ایلس کو ایک کپ کافی کے لیے باب کو اپنی روزانہ کی ادائیگیوں کی تصدیق پورے Ethereum نیٹ ورک سے کروانے کی ضرورت نہیں ہو سکتی ہے کیونکہ دونوں فریقوں کے درمیان کچھ بھروسہ موجود ہے۔ + +پلازما یہ فرض کرتا ہے کہ Ethereum Mainnet کو تمام ٹرانزیکشنز کی تصدیق کرنے کی ضرورت نہیں ہے۔ اس کے بجائے، ہم Mainnet سے باہر ٹرانزیکشنز پر کارروائی کر سکتے ہیں، جس سے نوڈس کو ہر ٹرانزیکشن کی توثیق کرنے سے آزاد کیا جا سکتا ہے۔ + +آف چین کمپیوٹیشن ضروری ہے کیونکہ پلازما چینز رفتار اور لاگت کے لیے بہتر بنا سکتی ہیں۔ مثال کے طور پر، ایک پلازما چین — اور اکثر ایسا کرتی ہے — ٹرانزیکشنز کی ترتیب اور عمل کو منظم کرنے کے لیے ایک ہی "آپریٹر" کا استعمال کر سکتی ہے۔ صرف ایک ادارے کے ٹرانزیکشنز کی تصدیق کرنے کے ساتھ، پلازما چین پر پروسیسنگ کا وقت Ethereum Mainnet سے تیز ہوتا ہے۔ + +### اسٹیٹ کمٹمنٹس {#state-commitments} + +جبکہ پلازما آف چین ٹرانزیکشنز کو انجام دیتا ہے، وہ مرکزی Ethereum ایگزیکیوشن لیئر پر طے پاتے ہیں—بصورت دیگر، پلازما چینز Ethereum کی سیکورٹی گارنٹی سے فائدہ نہیں اٹھا سکتیں۔ لیکن پلازما چین کی حالت کو جانے بغیر آف چین ٹرانزیکشنز کو حتمی شکل دینا سیکورٹی ماڈل کو توڑ دے گا اور غلط ٹرانزیکشنز کے پھیلاؤ کی اجازت دے گا۔ یہی وجہ ہے کہ آپریٹر، جو پلازما چین پر بلاکس بنانے کا ذمہ دار ادارہ ہے، کو وقتاً فوقتاً Ethereum پر "اسٹیٹ کمٹمنٹس" شائع کرنے کی ضرورت ہوتی ہے۔ + +ایک [کمٹمنٹ اسکیم](https://en.wikipedia.org/wiki/Commitment_scheme) کسی قدر یا بیان کے لیے کسی دوسرے فریق پر ظاہر کیے بغیر اسے کمٹ کرنے کی ایک کرپٹوگرافک تکنیک ہے۔ کمٹمنٹس اس معنی میں "پابند" ہیں کہ ایک بار جب آپ کسی قدر یا بیان کے لیے کمٹ کر لیتے ہیں تو آپ اسے تبدیل نہیں کر سکتے ہیں۔ پلازما میں اسٹیٹ کمٹمنٹس "مرکل روٹس" کی شکل اختیار کرتے ہیں (جو [مرکل ٹری](/whitepaper/#merkle-trees) سے اخذ کیے گئے ہیں) جسے آپریٹر وقفے وقفے سے Ethereum چین پر پلازما کنٹریکٹ کو بھیجتا ہے۔ + +مرکل روٹس کرپٹوگرافک پرائمیٹوز ہیں جو بڑی مقدار میں معلومات کو کمپریس کرنے کے قابل بناتے ہیں۔ ایک مرکل روٹ (اس معاملے میں اسے "بلاک روٹ" بھی کہا جاتا ہے) ایک بلاک میں تمام ٹرانزیکشنز کی نمائندگی کر سکتا ہے۔ مرکل روٹس اس بات کی تصدیق کرنا بھی آسان بناتے ہیں کہ ڈیٹا کا ایک چھوٹا سا حصہ بڑے ڈیٹا سیٹ کا حصہ ہے۔ مثال کے طور پر، ایک صارف کسی مخصوص بلاک میں ٹرانزیکشن کی شمولیت کو ثابت کرنے کے لیے [مرکل پروف](/developers/tutorials/merkle-proofs-for-offline-data-integrity/#main-content) تیار کر سکتا ہے۔ + +مرکل روٹس Ethereum کو آف چین کی حالت کے بارے میں معلومات فراہم کرنے کے لیے اہم ہیں۔ آپ مرکل روٹس کو "سیو پوائنٹس" کے طور پر سوچ سکتے ہیں: آپریٹر کہہ رہا ہے، "یہ وقت کے x نقطہ پر پلازما چین کی حالت ہے، اور یہ ثبوت کے طور پر مرکل روٹ ہے۔" آپریٹر مرکل روٹ کے ساتھ پلازما چین کی _موجودہ حالت_ کے لیے کمٹ کر رہا ہے، یہی وجہ ہے کہ اسے "اسٹیٹ کمٹمنٹ" کہا جاتا ہے۔ + +### اندراج اور اخراج {#entries-and-exits} + +ایتھیریم کے صارفین کو پلازما سے فائدہ اٹھانے کے لیے، Mainnet اور پلازما چینز کے درمیان فنڈز کی منتقلی کا ایک میکانزم ہونا ضروری ہے۔ ہم من مانی طور پر پلازما چین پر کسی ایڈریس پر ایتھر نہیں بھیج سکتے، اگرچہ — یہ چینز غیر مطابقت پذیر ہیں، لہذا ٹرانزیکشن یا تو ناکام ہو جائے گی یا فنڈز کے نقصان کا باعث بنے گی۔ + +پلازما صارف کے اندراج اور اخراج پر کارروائی کرنے کے لیے Ethereum پر چلنے والے ماسٹر کنٹریکٹ کا استعمال کرتا ہے۔ یہ ماسٹر کنٹریکٹ اسٹیٹ کمٹمنٹس (پہلے بیان کیا گیا ہے) کو ٹریک کرنے اور فراڈ پروفس کے ذریعے بے ایمانی کے رویے کو سزا دینے کا بھی ذمہ دار ہے (اس پر بعد میں مزید)۔ + +#### پلازما چین میں داخل ہونا {#entering-the-plasma-chain} + +پلازما چین میں داخل ہونے کے لیے، ایلس (صارف) کو پلازما کنٹریکٹ میں ETH یا کوئی ERC-20 ٹوکن جمع کرنا ہوگا۔ پلازما آپریٹر، جو کنٹریکٹ کے ذخائر کو دیکھتا ہے، ایلس کی ابتدائی ڈپازٹ کے برابر رقم دوبارہ بناتا ہے اور اسے پلازما چین پر اس کے ایڈریس پر جاری کرتا ہے۔ ایلس کو چائلڈ چین پر فنڈز وصول کرنے کی تصدیق کرنا ضروری ہے اور پھر وہ ان فنڈز کو ٹرانزیکشنز کے لیے استعمال کر سکتی ہے۔ + +#### پلازما چین سے باہر نکلنا {#exiting-the-plasma-chain} + +پلازما چین سے باہر نکلنا کئی وجوہات کی بنا پر اس میں داخل ہونے سے زیادہ پیچیدہ ہے۔ سب سے بڑی بات یہ ہے کہ، جب کہ Ethereum کے پاس پلازما چین کی حالت کے بارے میں معلومات ہیں، وہ اس بات کی تصدیق نہیں کر سکتا کہ آیا معلومات سچی ہیں یا نہیں۔ ایک بدنیتی پر مبنی صارف غلط دعویٰ کر سکتا ہے ("میرے پاس 1000 ETH ہیں") اور دعوے کی پشت پناہی کے لیے جعلی ثبوت فراہم کر کے بچ سکتا ہے۔ + +بدنیتی پر مبنی انخلا کو روکنے کے لیے، ایک "چیلنج پیریڈ" متعارف کرایا گیا ہے۔ چیلنج کی مدت کے دوران (عام طور پر ایک ہفتہ)، کوئی بھی فراڈ پروف کا استعمال کرتے ہوئے واپسی کی درخواست کو چیلنج کر سکتا ہے۔ اگر چیلنج کامیاب ہو جاتا ہے، تو واپسی کی درخواست مسترد کر دی جاتی ہے۔ + +تاہم، یہ عام طور پر ہوتا ہے کہ صارفین ایماندار ہوتے ہیں اور اپنے فنڈز کے بارے میں صحیح دعوے کرتے ہیں۔ اس منظر نامے میں، ایلس روٹ چین (Ethereum) پر پلازما کنٹریکٹ کو ایک ٹرانزیکشن جمع کر کے واپسی کی درخواست شروع کرے گی۔ + +اسے ایک مرکل پروف بھی فراہم کرنا ہوگا جو اس بات کی تصدیق کرتا ہے کہ پلازما چین پر اس کے فنڈز بنانے والی ٹرانزیکشن کو ایک بلاک میں شامل کیا گیا تھا۔ یہ پلازما کے تکرار کے لیے ضروری ہے، جیسے [Plasma MVP](https://www.learnplasma.org/en/learn/mvp.html)، جو [Unspent Transaction Output (UTXO)](https://en.wikipedia.org/wiki/Unspent_transaction_output) ماڈل کا استعمال کرتے ہیں۔ + +دیگر، جیسے [Plasma Cash](https://www.learnplasma.org/en/learn/cash.html)، UTXOs کے بجائے فنڈز کو [non-fungible tokens](/developers/docs/standards/tokens/erc-721/) کے طور پر نمائندگی کرتے ہیں۔ اس معاملے میں، واپس لینے کے لیے پلازما چین پر ٹوکنز کی ملکیت کا ثبوت درکار ہوتا ہے۔ یہ ٹوکن سے متعلق دو تازہ ترین ٹرانزیکشنز جمع کر کے اور ان ٹرانزیکشنز کی ایک بلاک میں شمولیت کی تصدیق کرنے والا مرکل پروف فراہم کر کے کیا جاتا ہے۔ + +صارف کو ایماندارانہ رویے کی ضمانت کے طور پر واپسی کی درخواست میں ایک بانڈ بھی شامل کرنا ہوگا۔ اگر کوئی چیلنجر ایلس کی واپسی کی درخواست کو غلط ثابت کرتا ہے، تو اس کا بانڈ سلیش کر دیا جاتا ہے، اور اس میں سے کچھ چیلنجر کو انعام کے طور پر دیا جاتا ہے۔ + +اگر چیلنج کی مدت کسی کے فراڈ پروف فراہم کیے بغیر گزر جاتی ہے، تو ایلس کی واپسی کی درخواست کو درست سمجھا جاتا ہے، جس سے وہ Ethereum پر پلازما کنٹریکٹ سے ڈپازٹ حاصل کر سکتی ہے۔ + +### تنازعات کا ثالثی {#dispute-arbitration} + +کسی بھی بلاک چین کی طرح، پلازما چینز کو ٹرانزیکشنز کی سالمیت کو نافذ کرنے کے لیے ایک میکانزم کی ضرورت ہوتی ہے اگر شرکاء بدنیتی سے کام کرتے ہیں (مثلاً، فنڈز کو دوگنا خرچ کرنا)۔ اس مقصد کے لیے، پلازما چینز اسٹیٹ ٹرانزیشنز کی درستگی سے متعلق تنازعات کو حل کرنے اور برے رویے کو سزا دینے کے لیے فراڈ پروفس کا استعمال کرتی ہیں۔ فراڈ پروفس کو ایک ایسے میکانزم کے طور پر استعمال کیا جاتا ہے جس کے ذریعے ایک پلازما چائلڈ چین اپنی پیرنٹ چین یا روٹ چین سے شکایت درج کراتی ہے۔ + +ایک فراڈ پروف صرف یہ دعویٰ ہے کہ ایک خاص اسٹیٹ ٹرانزیشن غلط ہے۔ ایک مثال یہ ہے کہ اگر کوئی صارف (ایلس) ایک ہی فنڈ کو دو بار خرچ کرنے کی کوشش کرتی ہے۔ شاید اس نے UTXO کو باب کے ساتھ ایک ٹرانزیکشن میں خرچ کیا ہو اور وہی UTXO (جو اب باب کا ہے) کسی دوسرے ٹرانزیکشن میں خرچ کرنا چاہتی ہو۔ + +واپسی کو روکنے کے لیے، باب ایلس کی پچھلی ٹرانزیکشن میں مذکورہ UTXO کو خرچ کرنے کے ثبوت اور ٹرانزیکشن کی ایک بلاک میں شمولیت کا مرکل پروف فراہم کر کے ایک فراڈ پروف تیار کرے گا۔ یہی عمل پلازما کیش میں کام کرتا ہے — باب کو یہ ثبوت فراہم کرنے کی ضرورت ہوگی کہ ایلس نے پہلے وہ ٹوکن منتقل کیے تھے جنہیں وہ واپس لینے کی کوشش کر رہی ہے۔ + +اگر باب کا چیلنج کامیاب ہو جاتا ہے، تو ایلس کی واپسی کی درخواست منسوخ کر دی جاتی ہے۔ تاہم، یہ طریقہ کار واپسی کی درخواستوں کے لیے چین کو دیکھنے کی باب کی صلاحیت پر انحصار کرتا ہے۔ اگر باب آف لائن ہے، تو ایلس چیلنج کی مدت ختم ہونے کے بعد بدنیتی پر مبنی واپسی پر کارروائی کر سکتی ہے۔ + +## پلازما میں بڑے پیمانے پر اخراج کا مسئلہ {#the-mass-exit-problem-in-plasma} + +بڑے پیمانے پر اخراج کا مسئلہ اس وقت ہوتا ہے جب بڑی تعداد میں صارفین ایک ہی وقت میں پلازما چین سے واپس لینے کی کوشش کرتے ہیں۔ یہ مسئلہ کیوں موجود ہے اس کا تعلق پلازما کے سب سے بڑے مسائل میں سے ایک سے ہے: **ڈیٹا کی عدم دستیابی**۔ + +ڈیٹا کی دستیابی اس بات کی تصدیق کرنے کی صلاحیت ہے کہ مجوزہ بلاک کے لیے معلومات دراصل بلاک چین نیٹ ورک پر شائع کی گئی تھیں۔ ایک بلاک "غیر دستیاب" ہوتا ہے اگر پروڈیوسر بلاک کو خود شائع کرتا ہے لیکن بلاک بنانے کے لیے استعمال ہونے والے ڈیٹا کو روک لیتا ہے۔ + +بلاکس دستیاب ہونے چاہئیں اگر نوڈس کو بلاک ڈاؤن لوڈ کرنے اور ٹرانزیکشنز کی درستگی کی تصدیق کرنے کے قابل ہونا ہے۔ بلاک چینز بلاک پروڈیوسرز کو تمام ٹرانزیکشن ڈیٹا آن چین پوسٹ کرنے پر مجبور کر کے ڈیٹا کی دستیابی کو یقینی بناتے ہیں۔ + +ڈیٹا کی دستیابی آف چین اسکیلنگ پروٹوکول کو محفوظ بنانے میں بھی مدد کرتی ہے جو Ethereum کی بیس لیئر پر بنتے ہیں۔ ان چینز پر آپریٹرز کو Ethereum پر ٹرانزیکشن ڈیٹا شائع کرنے پر مجبور کر کے، کوئی بھی چین کی صحیح حالت کا حوالہ دیتے ہوئے فراڈ پروفس بنا کر غلط بلاکس کو چیلنج کر سکتا ہے۔ + +پلازما چینز بنیادی طور پر آپریٹر کے ساتھ ٹرانزیکشن ڈیٹا کو اسٹور کرتی ہیں اور **Mainnet پر کوئی ڈیٹا شائع نہیں کرتی ہیں** (یعنی، وقتاً فوقتاً اسٹیٹ کمٹمنٹس کے علاوہ)۔ اس کا مطلب ہے کہ صارفین کو بلاک ڈیٹا فراہم کرنے کے لیے آپریٹر پر انحصار کرنا چاہیے اگر انہیں غلط ٹرانزیکشنز کو چیلنج کرنے والے فراڈ پروفس بنانے کی ضرورت ہے۔ اگر یہ نظام کام کرتا ہے، تو صارفین فنڈز کو محفوظ بنانے کے لیے ہمیشہ فراڈ پروفس کا استعمال کر سکتے ہیں۔ + +مسئلہ اس وقت شروع ہوتا ہے جب آپریٹر، نہ کہ کوئی صارف، بدنیتی سے کام کرنے والا فریق ہوتا ہے۔ چونکہ آپریٹر بلاک چین کے واحد کنٹرول میں ہے، ان کے پاس بڑے پیمانے پر غلط اسٹیٹ ٹرانزیشنز کو آگے بڑھانے کی زیادہ ترغیب ہوتی ہے، جیسے کہ پلازما چین پر صارفین سے تعلق رکھنے والے فنڈز کو چوری کرنا۔ + +اس معاملے میں، کلاسک فراڈ پروف سسٹم کام نہیں کرتا ہے۔ آپریٹر آسانی سے ایلس اور باب کے فنڈز کو اپنے والیٹ میں منتقل کرنے والی ایک غلط ٹرانزیکشن کر سکتا ہے اور فراڈ پروف بنانے کے لیے ضروری ڈیٹا کو چھپا سکتا ہے۔ یہ ممکن ہے کیونکہ آپریٹر کو صارفین یا Mainnet کو ڈیٹا دستیاب کرانے کی ضرورت نہیں ہے۔ + +لہذا، سب سے زیادہ امید افزا حل پلازما چین سے صارفین کا "بڑے پیمانے پر اخراج" کی کوشش کرنا ہے۔ بڑے پیمانے پر اخراج بدنیتی پر مبنی آپریٹر کے فنڈز چوری کرنے کے منصوبے کو سست کر دیتا ہے اور صارفین کے لیے کچھ حد تک تحفظ فراہم کرتا ہے۔ واپسی کی درخواستوں کو اس بنیاد پر ترتیب دیا جاتا ہے کہ ہر UTXO (یا ٹوکن) کب بنایا گیا تھا، جس سے بدنیتی پر مبنی آپریٹرز کو ایماندار صارفین کو فرنٹ رننگ کرنے سے روکا جا سکتا ہے۔ + +اس کے باوجود، ہمیں اب بھی بڑے پیمانے پر اخراج کے دوران واپسی کی درخواستوں کی درستگی کی تصدیق کرنے کا ایک طریقہ درکار ہے—تاکہ موقع پرست افراد کو غلط اخراج کی کارروائی کے افراتفری سے فائدہ اٹھانے سے روکا جا سکے۔ حل آسان ہے: صارفین سے اپنے پیسے نکالنے کے لیے چین کی آخری **درست حالت** پوسٹ کرنے کی ضرورت ہے۔ + +لیکن اس طریقہ کار میں اب بھی مسائل ہیں۔ مثال کے طور پر، اگر پلازما چین کے تمام صارفین کو باہر نکلنے کی ضرورت ہے (جو ایک بدنیتی پر مبنی آپریٹر کی صورت میں ممکن ہے)، تو پلازما چین کی پوری درست حالت کو Ethereum کی بیس لیئر پر ایک ساتھ ڈمپ کرنا ہوگا۔ پلازما چینز کے من مانے سائز (زیادہ تھرو پٹ = زیادہ ڈیٹا) اور Ethereum کی پروسیسنگ کی رفتار پر پابندیوں کے ساتھ، یہ ایک مثالی حل نہیں ہے۔ + +اگرچہ ایگزٹ گیمز تھیوری میں اچھے لگتے ہیں، لیکن حقیقی زندگی میں بڑے پیمانے پر اخراج سے Ethereum پر ہی نیٹ ورک بھر میں بھیڑ پیدا ہونے کا امکان ہے۔ Ethereum کی فعالیت کو نقصان پہنچانے کے علاوہ، ایک ناقص مربوط بڑے پیمانے پر اخراج کا مطلب یہ ہے کہ آپریٹر پلازما چین پر ہر اکاؤنٹ کو خالی کرنے سے پہلے صارفین فنڈز واپس نہیں لے سکیں گے۔ + +## پلازما کے فائدے اور نقصانات {#pros-and-cons-of-plasma} + +| فوائد | نقصانات | +| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| اعلیٰ تھرو پٹ اور فی ٹرانزیکشن کم لاگت پیش کرتا ہے۔ | عمومی کمپیوٹیشن کو سپورٹ نہیں کرتا (اسمارٹ کنٹریکٹس نہیں چلا سکتا)۔ صرف بنیادی ٹوکن ٹرانسفر، سویپس، اور چند دیگر ٹرانزیکشن کی اقسام پریڈیکیٹ منطق کے ذریعے سپورٹ کی جاتی ہیں۔ | +| من مانے صارفین کے درمیان ٹرانزیکشنز کے لیے اچھا ہے (اگر دونوں پلازما چین پر قائم ہیں تو فی صارف جوڑی کوئی اوور ہیڈ نہیں) | اپنے فنڈز کی سیکورٹی کو یقینی بنانے کے لیے وقتاً فوقتاً نیٹ ورک (لائیونیس کی ضرورت) کو دیکھنے یا یہ ذمہ داری کسی اور کو سونپنے کی ضرورت ہے۔ | +| پلازما چینز کو مخصوص استعمال کے معاملات کے مطابق ڈھالا جا سکتا ہے جو مرکزی چین سے غیر متعلق ہیں۔ کوئی بھی، بشمول کاروبار، مختلف سیاق و سباق میں کام کرنے والا اسکیل ایبل انفراسٹرکچر فراہم کرنے کے لیے پلازما اسمارٹ کنٹریکٹس کو اپنی مرضی کے مطابق بنا سکتا ہے۔ | ڈیٹا کو ذخیرہ کرنے اور درخواست پر اسے پیش کرنے کے لیے ایک یا زیادہ آپریٹرز پر انحصار کرتا ہے۔ | +| کمپیوٹیشن اور اسٹوریج کو آف چین منتقل کر کے Ethereum Mainnet پر بوجھ کم کرتا ہے۔ | چیلنجوں کی اجازت دینے کے لیے واپسی میں کئی دنوں کی تاخیر ہوتی ہے۔ فنجیبل اثاثوں کے لیے، اسے لیکویڈیٹی فراہم کرنے والوں کے ذریعے کم کیا جا سکتا ہے، لیکن اس سے منسلک سرمائے کی لاگت ہوتی ہے۔ | +| | اگر بہت سارے صارفین بیک وقت باہر نکلنے کی کوشش کرتے ہیں، تو Ethereum Mainnet بھیڑ بھاڑ کا شکار ہو سکتا ہے۔ | + +## پلازما بمقابلہ لیئر 2 اسکیلنگ پروٹوکول {#plasma-vs-layer-2} + +جب کہ پلازما کو کبھی Ethereum کے لیے ایک مفید اسکیلنگ حل سمجھا جاتا تھا، اس کے بعد سے اسے [لیئر 2 (L2) اسکیلنگ پروٹوکول](/layer-2/) کے حق میں چھوڑ دیا گیا ہے۔ L2 اسکیلنگ حل پلازما کے کئی مسائل کا ازالہ کرتے ہیں: + +### کارکردگی {#efficiency} + +[زیرو نالج رول اپس](/developers/docs/scaling/zk-rollups) آف چین پروسیس کیے گئے ٹرانزیکشنز کے ہر بیچ کی درستگی کے کرپٹوگرافک ثبوت تیار کرتے ہیں۔ یہ صارفین (اور آپریٹرز) کو غلط اسٹیٹ ٹرانزیشنز کو آگے بڑھانے سے روکتا ہے، جس سے چیلنج کی مدت اور ایگزٹ گیمز کی ضرورت ختم ہو جاتی ہے۔ اس کا یہ بھی مطلب ہے کہ صارفین کو اپنے فنڈز کو محفوظ بنانے کے لیے وقتاً فوقتاً چین کو دیکھنے کی ضرورت نہیں ہے۔ + +### اسمارٹ کنٹریکٹس کے لیے سپورٹ {#support-for-smart-contracts} + +پلازما فریم ورک کے ساتھ ایک اور مسئلہ [Ethereum اسمارٹ کنٹریکٹس کے نفاذ کی حمایت کرنے میں ناکامی](https://ethresear.ch/t/why-smart-contracts-are-not-feasible-on-plasma/2598/4) تھا۔ نتیجے کے طور پر، پلازما کے زیادہ تر نفاذ زیادہ تر سادہ ادائیگیوں یا ERC-20 ٹوکنز کے تبادلے کے لیے بنائے گئے تھے۔ + +اس کے برعکس، آپٹیمسٹک رول اپس، [Ethereum Virtual Machine](/developers/docs/evm/) کے ساتھ مطابقت رکھتے ہیں اور Ethereum-native [اسمارٹ کنٹریکٹس](/developers/docs/smart-contracts/) چلا سکتے ہیں، جو انہیں [ڈی سینٹرلائزڈ ایپلیکیشنز](/developers/docs/dapps/) کو اسکیل کرنے کے لیے ایک مفید اور _محفوظ_ حل بناتے ہیں۔ اسی طرح، [EVM (zkEVM) کا زیرو نالج نفاذ بنانے](https://ethresear.ch/t/a-zk-evm-specification/11549) کے منصوبے جاری ہیں جو ZK-rollups کو من مانی منطق پر کارروائی کرنے اور اسمارٹ کنٹریکٹس کو انجام دینے کی اجازت دے گا۔ + +### ڈیٹا کی عدم دستیابی {#data-unavailability} + +جیسا کہ پہلے بیان کیا گیا ہے، پلازما ڈیٹا کی دستیابی کے مسئلے سے دوچار ہے۔ اگر کوئی بدنیتی پر مبنی آپریٹر پلازما چین پر ایک غلط ٹرانزیشن کو آگے بڑھاتا ہے، تو صارفین اسے چیلنج نہیں کر پائیں گے کیونکہ آپریٹر فراڈ پروف بنانے کے لیے درکار ڈیٹا کو روک سکتا ہے۔ رول اپس اس مسئلے کو آپریٹرز کو Ethereum پر ٹرانزیکشن ڈیٹا پوسٹ کرنے پر مجبور کر کے حل کرتے ہیں، جس سے کوئی بھی چین کی حالت کی تصدیق کر سکتا ہے اور اگر ضروری ہو تو فراڈ پروفس بنا سکتا ہے۔ + +### بڑے پیمانے پر اخراج کا مسئلہ {#mass-exit-problem} + +ZK-rollups اور آپٹیمسٹک رول اپس دونوں پلازما کے بڑے پیمانے پر اخراج کے مسئلے کو مختلف طریقوں سے حل کرتے ہیں۔ مثال کے طور پر، ایک ZK-rollup کرپٹوگرافک میکانزم پر انحصار کرتا ہے جو اس بات کو یقینی بناتا ہے کہ آپریٹرز کسی بھی منظر نامے میں صارف کے فنڈز کو چوری نہیں کر سکتے۔ + +اسی طرح، آپٹیمسٹک رول اپس واپسی پر تاخیر کی مدت عائد کرتے ہیں جس کے دوران کوئی بھی چیلنج شروع کر سکتا ہے اور بدنیتی پر مبنی واپسی کی درخواستوں کو روک سکتا ہے۔ جب کہ یہ پلازما کی طرح ہے، فرق یہ ہے کہ تصدیق کنندگان کو فراڈ پروفس بنانے کے لیے درکار ڈیٹا تک رسائی حاصل ہوتی ہے۔ اس طرح، رول اپ صارفین کو Ethereum Mainnet پر ایک جنونی، "سب سے پہلے باہر نکلنے" کی منتقلی میں مشغول ہونے کی ضرورت نہیں ہے۔ + +## پلازما سائیڈ چینز اور شارڈنگ سے کیسے مختلف ہے؟ {#plasma-sidechains-sharding} + +پلازما، سائیڈ چینز، اور شارڈنگ کافی حد تک ملتے جلتے ہیں کیونکہ یہ سب کسی نہ کسی طرح سے Ethereum Mainnet سے جڑتے ہیں۔ تاہم، ان کنکشنز کی سطح اور طاقت مختلف ہوتی ہے، جو ہر اسکیلنگ حل کی سیکورٹی خصوصیات کو متاثر کرتی ہے۔ + +### پلازما بمقابلہ سائیڈ چینز {#plasma-vs-sidechains} + +ایک [سائیڈ چین](/developers/docs/scaling/sidechains/) ایک آزادانہ طور پر چلنے والا بلاک چین ہے جو دو طرفہ برج کے ذریعے Ethereum Mainnet سے جڑا ہوا ہے۔ [برجز](/bridges/) صارفین کو دو بلاک چینز کے درمیان ٹوکن کا تبادلہ کرنے کی اجازت دیتے ہیں تاکہ سائیڈ چین پر ٹرانزیکشن کیا جا سکے، Ethereum Mainnet پر بھیڑ کو کم کیا جا سکے اور اسکیل ایبلٹی کو بہتر بنایا جا سکے۔ +سائیڈ چینز ایک علیحدہ اتفاق رائے کا میکانزم استعمال کرتے ہیں اور عام طور پر Ethereum Mainnet سے بہت چھوٹے ہوتے ہیں۔ نتیجے کے طور پر، ان چینز پر اثاثوں کو برج کرنے میں زیادہ خطرہ شامل ہوتا ہے۔ سائیڈ چین ماڈل میں Ethereum Mainnet سے وراثت میں ملنے والی سیکورٹی گارنٹی کی کمی کے پیش نظر، صارفین کو سائیڈ چین پر حملے میں فنڈز کے نقصان کا خطرہ ہوتا ہے۔ + +اس کے برعکس، پلازما چینز اپنی سیکورٹی Mainnet سے حاصل کرتی ہیں۔ یہ انہیں سائیڈ چینز سے قابل پیمائش حد تک زیادہ محفوظ بناتا ہے۔ سائیڈ چینز اور پلازما چینز دونوں کے مختلف اتفاق رائے پروٹوکول ہو سکتے ہیں، لیکن فرق یہ ہے کہ پلازما چینز Ethereum Mainnet پر ہر بلاک کے لیے مرکل روٹس شائع کرتی ہیں۔ بلاک روٹس معلومات کے چھوٹے ٹکڑے ہیں جن کا استعمال ہم پلازما چین پر ہونے والے ٹرانزیکشنز کے بارے میں معلومات کی تصدیق کے لیے کر سکتے ہیں۔ اگر پلازما چین پر کوئی حملہ ہوتا ہے، تو صارفین مناسب ثبوتوں کا استعمال کرتے ہوئے اپنے فنڈز کو محفوظ طریقے سے Mainnet میں واپس لے سکتے ہیں۔ + +### پلازما بمقابلہ شارڈنگ {#plasma-vs-sharding} + +پلازما چینز اور شارڈ چینز دونوں وقتاً فوقتاً Ethereum Mainnet پر کرپٹوگرافک ثبوت شائع کرتے ہیں۔ تاہم، دونوں کی سیکورٹی کی خصوصیات مختلف ہیں۔ + +شارڈ چینز "کولیشن ہیڈرز" کو Mainnet پر کمٹ کرتی ہیں جس میں ہر ڈیٹا شارڈ کے بارے میں تفصیلی معلومات ہوتی ہیں۔ Mainnet پر نوڈس ڈیٹا شارڈز کی درستگی کی تصدیق اور نفاذ کرتے ہیں، جس سے غلط شارڈ ٹرانزیشنز کے امکان کو کم کیا جاتا ہے اور نیٹ ورک کو بدنیتی پر مبنی سرگرمیوں سے بچایا جاتا ہے۔ + +پلازما مختلف ہے کیونکہ Mainnet کو صرف چائلڈ چینز کی حالت کے بارے میں کم سے کم معلومات ملتی ہیں۔ اس کا مطلب ہے کہ Mainnet چائلڈ چینز پر کی جانے والی ٹرانزیکشنز کی مؤثر طریقے سے تصدیق نہیں کر سکتا، جس سے وہ کم محفوظ ہو جاتی ہیں۔ + +**نوٹ** کریں کہ Ethereum بلاک چین کی شارڈنگ اب روڈ میپ پر نہیں ہے۔ اسے رول اپس اور [ڈانک شارڈنگ](/roadmap/danksharding) کے ذریعے اسکیلنگ نے پیچھے چھوڑ دیا ہے۔ + +### پلازما استعمال کریں {#use-plasma} + +متعدد پروجیکٹس پلازما کے نفاذ فراہم کرتے ہیں جنہیں آپ اپنے ڈیپس میں ضم کر سکتے ہیں: + +- [Polygon](https://polygon.technology/) (پہلے Matic Network) + +## مزید پڑھیں {#further-reading} + +- [پلازما سیکھیں](https://www.learnplasma.org/en/) +- ["مشترکہ سیکورٹی" کا کیا مطلب ہے اور یہ اتنا اہم کیوں ہے اس کی ایک فوری یاد دہانی](https://old.reddit.com/r/ethereum/comments/sgd3zt/a_quick_reminder_of_what_shared_security_means/) +- [سائیڈ چینز بمقابلہ پلازما بمقابلہ شارڈنگ](https://vitalik.eth.limo/general/2019/06/12/plasma_vs_sharding.html) +- [پلازما کو سمجھنا، حصہ 1: بنیادی باتیں](https://www.theblockcrypto.com/amp/post/10793/understanding-plasma-part-1-the-basics) +- [پلازما کی زندگی اور موت](https://medium.com/dragonfly-research/the-life-and-death-of-plasma-b72c6a59c5ad#) + +_کسی کمیونٹی وسیلے کے بارے میں جانتے ہیں جس نے آپ کی مدد کی ہو؟ اس صفحہ میں ترمیم کریں اور اسے شامل کریں!_ diff --git a/public/content/translations/ur/developers/docs/scaling/sidechains/index.md b/public/content/translations/ur/developers/docs/scaling/sidechains/index.md new file mode 100644 index 00000000000..3afaed9f341 --- /dev/null +++ b/public/content/translations/ur/developers/docs/scaling/sidechains/index.md @@ -0,0 +1,73 @@ +--- +title: "سائیڈ چینز" +description: "ایتھیریم کمیونٹی کے ذریعہ فی الحال استعمال ہونے والے اسکیلنگ حل کے طور پر سائیڈ چینز کا تعارف۔" +lang: ur-in +sidebarDepth: 3 +--- + +ایک سائیڈ چین ایک الگ بلاک چین ہے جو ایتھیریم سے آزاد چلتی ہے اور دو طرفہ برج کے ذریعے ایتھیریم مین نیٹ سے منسلک ہوتی ہے۔ سائیڈ چینز میں الگ بلاک پیرامیٹرز اور [کنسینسس الگورتھم](/developers/docs/consensus-mechanisms/) ہو سکتے ہیں، جو اکثر ٹرانزیکشنز کی موثر پروسیسنگ کے لیے ڈیزائن کیے جاتے ہیں۔ سائیڈ چین کا استعمال کرنے میں کچھ سمجھوتے شامل ہیں، کیونکہ وہ ایتھیریم کی سیکیورٹی خصوصیات کو وراثت میں نہیں لیتے ہیں۔ [لیئر 2 اسکیلنگ حل](/layer-2/) کے برعکس، سائیڈ چینز اسٹیٹ کی تبدیلیوں اور ٹرانزیکشن ڈیٹا کو ایتھیریم مین نیٹ پر واپس پوسٹ نہیں کرتے ہیں۔ + +سائیڈ چینز اعلی تھروپٹ ([اسکیل ایبلیٹی ٹرائلیما](https://vitalik.eth.limo/general/2021/05/23/scaling.html)) حاصل کرنے کے لیے کچھ حد تک غیر مرکزیت یا سیکیورٹی کی قربانی بھی دیتے ہیں۔ تاہم، ایتھیریم غیر مرکزیت اور سیکیورٹی پر سمجھوتہ کیے بغیر اسکیلنگ کے لیے پرعزم ہے۔ + +## سائیڈ چینز کیسے کام کرتے ہیں؟ {#how-do-sidechains-work} + +سائیڈ چینز آزاد بلاک چینز ہیں، جن کی مختلف تاریخیں، ڈیولپمنٹ روڈ میپس، اور ڈیزائن کے تحفظات ہوتے ہیں۔ اگرچہ ایک سائیڈ چین ایتھیریم کے ساتھ کچھ سطحی مماثلتیں رکھ سکتی ہے، لیکن اس کی کئی منفرد خصوصیات ہیں۔ + +### کنسینسس الگورتھم {#consensus-algorithms} + +سائیڈ چینز کو منفرد (یعنی ایتھیریم سے مختلف) بنانے والی خصوصیات میں سے ایک استعمال شدہ کنسینسس الگورتھم ہے۔ سائیڈ چینز کنسینسس کے لیے ایتھیریم پر انحصار نہیں کرتے اور اپنی ضروریات کے مطابق متبادل کنسینسس پروٹوکولز کا انتخاب کر سکتے ہیں۔ سائیڈ چینز پر استعمال ہونے والے کنسینسس الگورتھم کی کچھ مثالیں شامل ہیں: + +- [ثبوتِ اختیار (Proof-of-authority)](/developers/docs/consensus-mechanisms/poa/) +- [ڈیلیگیٹڈ پروف-آف-اسٹیک](https://en.bitcoin.it/wiki/Delegated_proof_of_stake) +- [بائزنٹائن فالٹ ٹولرنس](https://decrypt.co/resources/byzantine-fault-tolerance-what-is-it-explained)۔ + +ایتھیریم کی طرح، سائیڈ چینز میں ویلیڈیٹنگ نوڈز ہوتے ہیں جو ٹرانزیکشنز کی تصدیق اور پروسیسنگ کرتے ہیں، بلاکس بناتے ہیں، اور بلاک چین اسٹیٹ کو اسٹور کرتے ہیں۔ ویلیڈیٹرز پورے نیٹ ورک میں کنسینسس کو برقرار رکھنے اور اسے بدنیتی پر مبنی حملوں سے محفوظ رکھنے کے بھی ذمہ دار ہیں۔ + +#### بلاک پیرامیٹرز {#block-parameters} + +ایتھیریم [بلاک ٹائمز](/developers/docs/blocks/#block-time) (یعنی، نئے بلاکس بنانے میں لگنے والا وقت) اور [بلاک سائزز](/developers/docs/blocks/#block-size) (یعنی، ہر بلاک میں موجود ڈیٹا کی مقدار جسے گیس میں ظاہر کیا جاتا ہے) پر حدود عائد کرتا ہے۔ اس کے برعکس، سائیڈ چینز اکثر اعلی تھروپٹ، تیز ٹرانزیکشنز، اور کم فیس حاصل کرنے کے لیے مختلف پیرامیٹرز، جیسے تیز بلاک ٹائمز اور زیادہ گیس کی حدود، اپناتے ہیں۔ + +جبکہ اس کے کچھ فوائد ہیں، اس کے نیٹ ورک کی غیر مرکزیت اور سیکیورٹی کے لیے اہم مضمرات ہیں۔ بلاک پیرامیٹرز، جیسے تیز بلاک ٹائمز اور بڑے بلاک سائزز، ایک مکمل نوڈ چلانے کی مشکل کو بڑھاتے ہیں—جس سے چند "سپر نوڈز" چین کو محفوظ بنانے کے ذمہ دار رہ جاتے ہیں۔ ایسے منظر نامے میں، ویلیڈیٹر کی ملی بھگت یا چین پر بدنیتی پر مبنی قبضے کا امکان بڑھ جاتا ہے۔ + +بلاک چینز کو غیر مرکزیت کو نقصان پہنچائے بغیر اسکیل کرنے کے لیے، نوڈ چلانا ہر ایک کے لیے کھلا ہونا چاہیے—ضروری نہیں کہ صرف خصوصی ہارڈویئر والی پارٹیاں ہی چلا سکیں۔ یہی وجہ ہے کہ یہ یقینی بنانے کے لیے کوششیں جاری ہیں کہ ہر کوئی ایتھیریم نیٹ ورک پر [ایک مکمل نوڈ چلا سکے](/developers/docs/nodes-and-clients/#why-should-i-run-an-ethereum-node)۔ + +### EVM مطابقت {#evm-compatibility} + +کچھ سائیڈ چینز EVM-مطابقت پذیر ہوتی ہیں اور [ایتھیریم ورچوئل مشین (EVM)](/developers/docs/evm/) کے لیے تیار کردہ کنٹریکٹس کو انجام دینے کے قابل ہوتی ہیں۔ EVM-مطابقت پذیر سائیڈ چینز [سولیڈیٹی میں لکھے گئے](/developers/docs/smart-contracts/languages/) اسمارٹ کنٹریکٹس کے ساتھ ساتھ دیگر EVM اسمارٹ کنٹریکٹ زبانوں کو بھی سپورٹ کرتی ہیں، جس کا مطلب ہے کہ ایتھیریم مین نیٹ کے لیے لکھے گئے اسمارٹ کنٹریکٹس EVM-مطابقت پذیر سائیڈ چینز پر بھی کام کریں گے۔ + +اس کا مطلب ہے کہ اگر آپ اپنے [dapp](/developers/docs/dapps/) کو کسی سائیڈ چین پر استعمال کرنا چاہتے ہیں، تو یہ صرف اس سائیڈ چین پر اپنے [اسمارٹ کنٹریکٹ](/developers/docs/smart-contracts/) کو تعینات کرنے کا معاملہ ہے۔ یہ بالکل Mainnet کی طرح دکھتا، محسوس ہوتا، اور کام کرتا ہے—آپ سولیڈیٹی میں کنٹریکٹس لکھتے ہیں، اور سائیڈ چینز RPC کے ذریعے چین کے ساتھ تعامل کرتے ہیں۔ + +چونکہ سائیڈ چینز EVM-مطابقت پذیر ہیں، انہیں ایتھیریم-نیٹیو dapps کے لیے ایک مفید [اسکیلنگ حل](/developers/docs/scaling/) سمجھا جاتا ہے۔ سائیڈ چین پر آپ کے dapp کے ساتھ، صارفین کم گیس فیس اور تیز ٹرانزیکشنز سے لطف اندوز ہو سکتے ہیں، خاص طور پر اگر Mainnet پر بھیڑ ہو۔ + +تاہم، جیسا کہ پہلے بیان کیا گیا ہے، سائیڈ چین کا استعمال کرنے میں اہم سمجھوتے شامل ہیں۔ ہر سائیڈ چین اپنی سیکیورٹی کے لیے ذمہ دار ہے اور ایتھیریم کی سیکیورٹی خصوصیات کو وراثت میں نہیں لیتی۔ اس سے بدنیتی پر مبنی رویے کا امکان بڑھ جاتا ہے جو آپ کے صارفین کو متاثر کر سکتا ہے یا ان کے فنڈز کو خطرے میں ڈال سکتا ہے۔ + +### اثاثوں کی نقل و حرکت {#asset-movement} + +ایک الگ بلاک چین کو ایتھیریم مین نیٹ کے لیے سائیڈ چین بننے کے لیے، اسے ایتھیریم مین نیٹ سے اور اس میں اثاثوں کی منتقلی کو آسان بنانے کی صلاحیت کی ضرورت ہوتی ہے۔ ایتھیریم کے ساتھ یہ باہمی عمل ایک بلاک چین برج کا استعمال کرکے حاصل کیا جاتا ہے۔ [برجز](/bridges/) ایتھیریم مین نیٹ اور ایک سائیڈ چین پر تعینات کردہ اسمارٹ کنٹریکٹس کا استعمال کرتے ہیں تاکہ ان کے درمیان فنڈز کی برجنگ کو کنٹرول کیا جا سکے۔ + +جبکہ برجز صارفین کو ایتھیریم اور سائیڈ چین کے درمیان فنڈز منتقل کرنے میں مدد کرتے ہیں، اثاثے جسمانی طور پر دونوں چینز کے درمیان منتقل نہیں ہوتے ہیں۔ اس کے بجائے، چینز کے درمیان قدر منتقل کرنے کے لیے ایسے میکانزم استعمال کیے جاتے ہیں جن میں عام طور پر منٹنگ اور برننگ شامل ہوتی ہے۔ [برجز کیسے کام کرتے ہیں](/developers/docs/bridges/#how-do-bridges-work) کے بارے میں مزید جانیں۔ + +## سائیڈ چینز کے فوائد اور نقصانات {#pros-and-cons-of-sidechains} + +| فوائد | نقصانات | +| --------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| سائیڈ چینز کی بنیاد بننے والی ٹیکنالوجی اچھی طرح سے قائم ہے اور وسیع تحقیق اور ڈیزائن میں بہتری سے فائدہ اٹھاتی ہے۔ | سائیڈ چینز اسکیل ایبلیٹی کے لیے کچھ حد تک غیر مرکزیت اور بے اعتمادی کا سمجھوتہ کرتے ہیں۔ | +| سائیڈ چینز عمومی کمپیوٹیشن کو سپورٹ کرتے ہیں اور EVM مطابقت پیش کرتے ہیں (وہ ایتھیریم-نیٹیو dapps چلا سکتے ہیں)۔ | ایک سائیڈ چین ایک الگ کنسینسس میکانزم کا استعمال کرتی ہے اور ایتھیریم کی سیکیورٹی گارنٹیوں سے فائدہ نہیں اٹھاتی۔ | +| سائیڈ چینز ٹرانزیکشنز کو موثر طریقے سے پروسیس کرنے اور صارفین کے لیے ٹرانزیکشن فیس کو کم کرنے کے لیے مختلف کنسینسس ماڈلز کا استعمال کرتے ہیں۔ | سائیڈ چینز کو زیادہ اعتماد کے مفروضوں کی ضرورت ہوتی ہے (مثال کے طور پر، بدنیتی پر مبنی سائیڈ چین ویلیڈیٹرز کا ایک کورم دھوکہ دہی کر سکتا ہے)۔ | +| EVM-مطابقت پذیر سائیڈ چینز dapps کو اپنے ایکو سسٹم کو وسعت دینے کی اجازت دیتی ہیں۔ | | + +### سائیڈ چینز کا استعمال کریں {#use-sidechains} + +متعدد پروجیکٹس سائیڈ چینز کے نفاذ فراہم کرتے ہیں جنہیں آپ اپنے dapps میں ضم کر سکتے ہیں: + +- [Polygon PoS](https://polygon.technology/solutions/polygon-pos) +- [Skale](https://skale.network/) +- [Gnosis Chain (formerly xDai)](https://www.gnosischain.com/) +- [Loom Network](https://loomx.io/) +- [Metis Andromeda](https://www.metis.io/) + +## مزید پڑھیں {#further-reading} + +- [سائیڈ چینز کے ذریعے ایتھیریم dapps کو اسکیل کرنا](https://medium.com/loom-network/dappchains-scaling-ethereum-dapps-through-sidechains-f99e51fff447) _8 فروری، 2018 - Georgios Konstantopoulos_ + +_کسی کمیونٹی وسیلے کے بارے میں جانتے ہیں جس نے آپ کی مدد کی ہو؟ اس صفحہ میں ترمیم کریں اور اسے شامل کریں!_ diff --git a/public/content/translations/ur/developers/docs/scaling/state-channels/index.md b/public/content/translations/ur/developers/docs/scaling/state-channels/index.md new file mode 100644 index 00000000000..6b68d7853f5 --- /dev/null +++ b/public/content/translations/ur/developers/docs/scaling/state-channels/index.md @@ -0,0 +1,261 @@ +--- +title: "اسٹیٹ چینلز" +description: "ایتھیریم کمیونٹی کے ذریعہ فی الحال استعمال ہونے والے اسکیلنگ حل کے طور پر اسٹیٹ چینلز اور ادائیگی چینلز کا تعارف۔" +lang: ur-in +sidebarDepth: 3 +--- + +اسٹیٹ چینلز شرکاء کو ایتھیریم مین نیٹ کے ساتھ تعامل کو کم سے کم رکھتے ہوئے محفوظ طریقے سے آف چین لین دین کرنے کی اجازت دیتے ہیں۔ چینل کے پیئرس چینل کو کھولنے اور بند کرنے کے لیے صرف دو آن چین لین دین جمع کرواتے ہوئے آف چین لین دین کی من مانی تعداد کر سکتے ہیں۔ یہ بہت زیادہ لین دین کی تھروپٹ کی اجازت دیتا ہے اور صارفین کے لیے کم لاگت کا نتیجہ ہوتا ہے۔ + +## شرائط {#prerequisites} + +آپ کو [ایتھیریم اسکیلنگ](/developers/docs/scaling/) اور [لیئر 2](/layer-2/) پر ہمارے صفحات کو پڑھنا اور سمجھنا چاہیے تھا۔ + +## چینلز کیا ہیں؟ {#what-are-channels} + +ایتھیریم جیسے عوامی بلاک چینز کو ان کے تقسیم شدہ فن تعمیر کی وجہ سے اسکیل ایبلٹی کے چیلنجز کا سامنا ہے: آن چین لین دین کو تمام نوڈس کے ذریعہ انجام دیا جانا چاہئے۔ نیٹ ورک کو غیر مرکزی رکھنے کے لیے ٹرانزیکشن تھروپٹ پر ایک حد عائد کرتے ہوئے، نوڈس کو معمولی ہارڈویئر کا استعمال کرتے ہوئے ایک بلاک میں لین دین کے حجم کو سنبھالنے کے قابل ہونا چاہیے۔ بلاک چین چینلز اس مسئلے کو صارفین کو آف چین بات چیت کرنے کی اجازت دے کر حل کرتے ہیں جبکہ حتمی تصفیہ کے لیے مرکزی سلسلہ کی حفاظت پر بھروسہ کرتے ہیں۔ + +چینلز سادہ پیر ٹو پیر پروٹوکول ہیں جو دو فریقوں کو اپنے درمیان بہت سے لین دین کرنے کی اجازت دیتے ہیں اور پھر صرف حتمی نتائج کو بلاک چین پر پوسٹ کرتے ہیں۔ چینل کرپٹوگرافی کا استعمال یہ ظاہر کرنے کے لیے کرتا ہے کہ وہ جو خلاصہ ڈیٹا تیار کرتے ہیں وہ واقعی درمیانی لین دین کے ایک درست سیٹ کا نتیجہ ہے۔ ایک ["ملٹی سگ"](/developers/docs/smart-contracts/#multisig) اسمارٹ کنٹریکٹ اس بات کو یقینی بناتا ہے کہ لین دین پر صحیح فریقوں کے دستخط ہیں۔ + +چینلز کے ساتھ، ایتھیریم کی ایگزیکیوشن لیئر پر کمپیوٹیشن کو کم کرتے ہوئے، اسٹیٹ کی تبدیلیاں دلچسپی رکھنے والی جماعتوں کے ذریعے عمل میں لائی جاتی ہیں اور ان کی توثیق کی جاتی ہے۔ اس سے ایتھیریم پر بھیڑ کم ہوتی ہے اور صارفین کے لیے ٹرانزیکشن پروسیسنگ کی رفتار بھی بڑھ جاتی ہے۔ + +ہر چینل کا انتظام ایتھیریم پر چلنے والے [ملٹی سگ اسمارٹ کنٹریکٹ](/developers/docs/smart-contracts/#multisig) کے ذریعے کیا جاتا ہے۔ چینل کھولنے کے لیے، شرکاء چینل کنٹریکٹ کو آن چین تعینات کرتے ہیں اور اس میں فنڈز جمع کرتے ہیں۔ دونوں فریق اجتماعی طور پر چینل کی حالت کو شروع کرنے کے لیے اسٹیٹ اپ ڈیٹ پر دستخط کرتے ہیں، جس کے بعد وہ تیزی سے اور آزادانہ طور پر آف چین لین دین کر سکتے ہیں۔ + +چینل کو بند کرنے کے لیے، شرکاء چینل کی آخری متفقہ حالت کو آن چین جمع کراتے ہیں۔ اس کے بعد، اسمارٹ کنٹریکٹ چینل کی حتمی حالت میں ہر شریک کے بیلنس کے مطابق لاک فنڈز تقسیم کرتا ہے۔ + +پیئر ٹو پیئر چینلز ان حالات کے لیے خاص طور پر کارآمد ہیں جہاں کچھ پہلے سے طے شدہ شرکاء بغیر کسی ظاہری اوور ہیڈ کے اعلی تعدد کے ساتھ لین دین کرنا چاہتے ہیں۔ بلاک چین چینلز دو زمروں میں آتے ہیں: **ادائیگی چینلز** اور **اسٹیٹ چینلز**۔ + +## ادائیگی کے چینلز {#payment-channels} + +ادائیگی کے چینل کو بہترین طور پر "دو طرفہ لیجر" کے طور پر بیان کیا گیا ہے جسے اجتماعی طور پر دو صارفین برقرار رکھتے ہیں۔ لیجر کا ابتدائی بیلنس چینل کے افتتاحی مرحلے کے دوران آن چین کنٹریکٹ میں لاک کیے گئے ڈپازٹس کا مجموعہ ہے۔ ادائیگی چینل کی منتقلی فوری طور پر اور اصل بلاک چین کی شمولیت کے بغیر کی جا سکتی ہے، سوائے ابتدائی ایک بار آن چین تخلیق اور چینل کے آخر کار بند ہونے کے۔ + +لیجر کے بیلنس میں اپ ڈیٹس (یعنی، ادائیگی چینل کی حالت) کے لیے چینل میں تمام فریقین کی منظوری درکار ہوتی ہے۔ چینل کے تمام شرکاء کے دستخط شدہ چینل اپ ڈیٹ کو حتمی سمجھا جاتا ہے، بالکل ایتھیریم پر لین دین کی طرح۔ + +ادائیگی کے چینلز سب سے ابتدائی اسکیلنگ حلوں میں سے تھے جو سادہ صارف کے تعاملات (جیسے، ETH کی منتقلی، جوہری تبادلے، مائیکرو پیمنٹس) کی مہنگی آن چین سرگرمی کو کم کرنے کے لیے بنائے گئے تھے۔ چینل کے شرکاء ایک دوسرے کے درمیان لامحدود مقدار میں فوری، فیس کے بغیر لین دین کر سکتے ہیں جب تک کہ ان کی منتقلی کا خالص مجموعہ جمع شدہ ٹوکنز سے زیادہ نہ ہو۔ + +## اسٹیٹ چینلز {#state-channels} + +آف چین ادائیگیوں کی حمایت کرنے کے علاوہ، ادائیگی کے چینلز عام اسٹیٹ ٹرانزیشن منطق کو سنبھالنے کے لیے کارآمد ثابت نہیں ہوئے ہیں۔ اس مسئلے کو حل کرنے اور عام مقصد کے حساب کو اسکیل کرنے کے لیے چینلز کو کارآمد بنانے کے لیے اسٹیٹ چینلز بنائے گئے تھے۔ + +اسٹیٹ چینلز میں اب بھی ادائیگی چینلز کے ساتھ بہت کچھ مشترک ہے۔ مثال کے طور پر، صارفین کرپٹوگرافک طور پر دستخط شدہ پیغامات (ٹرانزیکشنز) کا تبادلہ کرکے تعامل کرتے ہیں، جس پر دوسرے چینل کے شرکاء کو بھی دستخط کرنا ضروری ہے۔ اگر مجوزہ اسٹیٹ اپ ڈیٹ پر تمام شرکاء کے دستخط نہیں ہیں، تو اسے غلط سمجھا جاتا ہے۔ + +تاہم، صارف کے بیلنس کو رکھنے کے علاوہ، چینل کنٹریکٹ کے اسٹوریج کی موجودہ حالت (یعنی، کنٹریکٹ متغیرات کی قدریں) کو بھی ٹریک کرتا ہے۔ + +یہ دو صارفین کے درمیان آف چین اسمارٹ کنٹریکٹ کو انجام دینا ممکن بناتا ہے۔ اس منظر نامے میں، اسمارٹ کنٹریکٹ کی اندرونی حالت میں اپ ڈیٹس کے لیے صرف ان ہم مرتبہ لوگوں کی منظوری درکار ہوتی ہے جنہوں نے چینل بنایا ہے۔ + +اگرچہ یہ پہلے بیان کردہ اسکیل ایبلٹی کے مسئلے کو حل کرتا ہے، لیکن اس کے سیکیورٹی کے لیے مضمرات ہیں۔ ایتھیریم پر، اسٹیٹ ٹرانزیشن کی درستگی نیٹ ورک کے اتفاق رائے پروٹوکول کے ذریعے نافذ کی جاتی ہے۔ یہ اسمارٹ کنٹریکٹ کی حالت میں غلط اپ ڈیٹ کی تجویز کرنا یا اسمارٹ کنٹریکٹ کے نفاذ کو تبدیل کرنا ناممکن بنا دیتا ہے۔ + +اسٹیٹ چینلز میں یکساں حفاظتی ضمانتیں نہیں ہیں۔ ایک حد تک، ایک اسٹیٹ چینل مین نیٹ کا ایک چھوٹا ورژن ہے۔ قواعد کو نافذ کرنے والے شرکاء کے ایک محدود سیٹ کے ساتھ، بدنیتی پر مبنی رویے کا امکان (مثلاً، غلط اسٹیٹ اپ ڈیٹس کی تجویز) بڑھ جاتا ہے۔ اسٹیٹ چینلز اپنی سیکیورٹی [فراڈ پروفس](/glossary/#fraud-proof) پر مبنی تنازعہ ثالثی کے نظام سے حاصل کرتے ہیں۔ + +## اسٹیٹ چینلز کیسے کام کرتے ہیں {#how-state-channels-work} + +بنیادی طور پر، اسٹیٹ چینل میں سرگرمی صارفین اور بلاک چین سسٹم پر مشتمل تعاملات کا ایک سیشن ہے۔ صارفین زیادہ تر ایک دوسرے کے ساتھ آف چین بات چیت کرتے ہیں اور چینل کو کھولنے، چینل کو بند کرنے، یا شرکاء کے درمیان ممکنہ تنازعات کو طے کرنے کے لیے صرف بنیادی بلاک چین کے ساتھ تعامل کرتے ہیں۔ + +مندرجہ ذیل سیکشن اسٹیٹ چینل کے بنیادی ورک فلو کا خاکہ پیش کرتا ہے: + +### چینل کھولنا {#opening-the-channel} + +چینل کھولنے کے لیے شرکاء کو مین نیٹ پر ایک اسمارٹ کنٹریکٹ کے لیے فنڈز کا عہد کرنا پڑتا ہے۔ ڈپازٹ ایک ورچوئل ٹیب کے طور پر بھی کام کرتا ہے، لہذا حصہ لینے والے اداکار فوری طور پر ادائیگیوں کو طے کرنے کی ضرورت کے بغیر آزادانہ طور پر لین دین کر سکتے ہیں۔ جب چینل آن چین کو حتمی شکل دے دی جاتی ہے تب ہی فریقین ایک دوسرے کو طے کرتے ہیں اور اپنے ٹیب میں جو کچھ بچا ہے اسے واپس لے لیتے ہیں۔ + +یہ ڈپازٹ ہر شریک سے ایماندارانہ رویے کی ضمانت کے لیے ایک بانڈ کے طور پر بھی کام کرتا ہے۔ اگر تنازعہ کے حل کے مرحلے کے دوران جمع کرنے والے بدنیتی پر مبنی کارروائیوں کے مرتکب پائے جاتے ہیں، تو معاہدہ ان کے جمع کو کم کر دیتا ہے۔ + +چینل کے پیئرس کو ابتدائی اسٹیٹ پر دستخط کرنا ہوں گے، جس پر وہ سب متفق ہیں۔ یہ اسٹیٹ چینل کی ابتداء کے طور پر کام کرتا ہے، جس کے بعد صارفین لین دین شروع کر سکتے ہیں۔ + +### چینل کا استعمال {#using-the-channel} + +چینل کی حالت کو شروع کرنے کے بعد، ساتھی لین دین پر دستخط کرکے اور منظوری کے لیے ایک دوسرے کو بھیج کر بات چیت کرتے ہیں۔ شرکاء ان لین دین کے ساتھ اسٹیٹ اپ ڈیٹس شروع کرتے ہیں اور دوسروں سے اسٹیٹ اپ ڈیٹس پر دستخط کرتے ہیں۔ ہر لین دین مندرجہ ذیل پر مشتمل ہے: + +- ایک **نونسی**، جو لین دین کے لیے ایک منفرد ID کے طور پر کام کرتا ہے اور ری پلے حملوں کو روکتا ہے۔ یہ اس ترتیب کی بھی نشاندہی کرتا ہے جس میں اسٹیٹ اپ ڈیٹس ہوئے ہیں (جو تنازعات کے حل کے لیے اہم ہے) + +- چینل کی پرانی حالت + +- چینل کی نئی حالت + +- وہ لین دین جو اسٹیٹ ٹرانزیشن کو متحرک کرتا ہے (جیسے، ایلس باب کو 5 ETH بھیجتی ہے) + +چینل میں اسٹیٹ اپ ڈیٹس کو آن چین نشر نہیں کیا جاتا ہے جیسا کہ عام طور پر اس وقت ہوتا ہے جب صارف مین نیٹ پر بات چیت کرتے ہیں، جو آن چین کے نقوش کو کم کرنے کے اسٹیٹ چینلز کے مقصد سے ہم آہنگ ہوتا ہے۔ جب تک شرکاء اسٹیٹ اپ ڈیٹس پر متفق ہیں، وہ ایتھیریم ٹرانزیکشن کی طرح حتمی ہیں۔ تنازعہ پیدا ہونے کی صورت میں شرکاء کو صرف مین نیٹ کے اتفاق رائے پر انحصار کرنے کی ضرورت ہے۔ + +### چینل کو بند کرنا {#closing-the-channel} + +اسٹیٹ چینل کو بند کرنے کے لیے چینل کی حتمی، متفقہ حالت آن چین اسمارٹ کنٹریکٹ میں جمع کروانے کی ضرورت ہوتی ہے۔ اسٹیٹ اپ ڈیٹ میں حوالہ کردہ تفصیلات میں ہر شریک کی چالوں کی تعداد اور منظور شدہ لین دین کی فہرست شامل ہے۔ + +یہ تصدیق کرنے کے بعد کہ اسٹیٹ اپ ڈیٹ درست ہے (یعنی، اس پر تمام فریقوں کے دستخط ہیں) اسمارٹ کنٹریکٹ چینل کو حتمی شکل دیتا ہے اور چینل کے نتائج کے مطابق لاک کیے گئے فنڈز تقسیم کرتا ہے۔ آف چین کی گئی ادائیگیوں کا اطلاق ایتھیریم کی حالت پر ہوتا ہے اور ہر شریک کو لاک فنڈز کا اپنا بقیہ حصہ ملتا ہے۔ + +اوپر بیان کیا گیا منظر نامہ اس بات کی نمائندگی کرتا ہے کہ خوش کن معاملے میں کیا ہوتا ہے۔ کبھی کبھی، صارفین کسی معاہدے تک پہنچنے اور چینل کو حتمی شکل دینے سے قاصر ہو سکتے ہیں (افسوسناک معاملہ)۔ صورتحال کے بارے میں مندرجہ ذیل میں سے کوئی بھی سچ ہو سکتا ہے: + +- شرکاء آف لائن ہو جاتے ہیں اور اسٹیٹ ٹرانزیشن تجویز کرنے میں ناکام رہتے ہیں۔ + +- شرکاء درست اسٹیٹ اپ ڈیٹس پر مشترکہ دستخط کرنے سے انکار کرتے ہیں۔ + +- شرکاء آن چین کنٹریکٹ میں پرانی اسٹیٹ اپ ڈیٹ کی تجویز دے کر چینل کو حتمی شکل دینے کی کوشش کرتے ہیں۔ + +- شرکاء دوسروں کو دستخط کرنے کے لیے غلط اسٹیٹ ٹرانزیشن تجویز کرتے ہیں۔ + +جب بھی کسی چینل میں حصہ لینے والے اداکاروں کے درمیان اتفاق رائے ٹوٹ جاتا ہے، تو آخری آپشن مین نیٹ کے اتفاق رائے پر انحصار کرنا ہوتا ہے تاکہ چینل کی حتمی، درست حالت کو نافذ کیا جا سکے۔ اس معاملے میں، اسٹیٹ چینل کو بند کرنے کے لیے آن چین تنازعات کو طے کرنے کی ضرورت ہے۔ + +### تنازعات کا تصفیہ {#settling-disputes} + +عام طور پر، ایک چینل میں فریقین پہلے سے چینل کو بند کرنے پر متفق ہوتے ہیں اور آخری اسٹیٹ ٹرانزیشن پر مشترکہ دستخط کرتے ہیں، جسے وہ اسمارٹ کنٹریکٹ میں جمع کراتے ہیں۔ ایک بار آن چین اپ ڈیٹ کی منظوری مل جانے کے بعد، آف چین اسمارٹ کنٹریکٹ کا عمل ختم ہو جاتا ہے اور شرکاء اپنے پیسے کے ساتھ چینل سے باہر نکل جاتے ہیں۔ + +تاہم، ایک فریق اسمارٹ کنٹریکٹ کے نفاذ کو ختم کرنے اور چینل کو حتمی شکل دینے کے لیے آن چین درخواست جمع کر سکتا ہے—اپنے ہم منصب کی منظوری کا انتظار کیے بغیر۔ اگر پہلے بیان کردہ اتفاق رائے کو توڑنے والی کوئی صورت حال پیش آتی ہے، تو کوئی بھی فریق چینل کو بند کرنے اور فنڈز کی تقسیم کے لیے آن چین کنٹریکٹ کو متحرک کر سکتا ہے۔ یہ **بے اعتمادی** فراہم کرتا ہے، اس بات کو یقینی بناتا ہے کہ ایماندار فریق کسی بھی وقت اپنے ڈپازٹس سے باہر نکل سکتے ہیں، چاہے دوسرے فریق کی کارروائیاں کچھ بھی ہوں۔ + +چینل سے باہر نکلنے پر کارروائی کرنے کے لیے، صارف کو درخواست کی آخری درست اسٹیٹ اپ ڈیٹ آن چین کنٹریکٹ میں جمع کرانی ہوگی۔ اگر یہ چیک آؤٹ ہو جاتا ہے (یعنی اس پر تمام فریقوں کے دستخط ہوتے ہیں)، تو فنڈز ان کے حق میں دوبارہ تقسیم کیے جاتے ہیں۔ + +تاہم، واحد صارف سے باہر نکلنے کی درخواستوں پر عمل درآمد میں تاخیر ہوتی ہے۔ اگر چینل کو ختم کرنے کی درخواست کو متفقہ طور پر منظور کر لیا گیا تھا، تو آن چین سے باہر نکلنے کا لین دین فوری طور پر انجام دیا جاتا ہے۔ + +دھوکہ دہی کی کارروائیوں کے امکان کی وجہ سے واحد صارف سے باہر نکلنے میں تاخیر ہوتی ہے۔ مثال کے طور پر، ایک چینل کا شریک ایتھیریم پر چینل کو حتمی شکل دینے کی کوشش کر سکتا ہے اور آن چین پرانی اسٹیٹ اپ ڈیٹ جمع کروا سکتا ہے۔ + +ایک جوابی اقدام کے طور پر، اسٹیٹ چینلز ایماندار صارفین کو چینل کی تازہ ترین، درست حالت کو آن چین جمع کر کے غلط اسٹیٹ اپ ڈیٹس کو چیلنج کرنے کی اجازت دیتے ہیں۔ اسٹیٹ چینلز کو اس طرح ڈیزائن کیا گیا ہے کہ نئے، متفقہ اسٹیٹ اپ ڈیٹس پرانے اسٹیٹ اپ ڈیٹس کو مات دیتے ہیں۔ + +ایک بار جب ایک ہم مرتبہ آن چین تنازعہ کے حل کے نظام کو متحرک کرتا ہے، تو دوسرے فریق کو ایک وقت کی حد کے اندر جواب دینا ہوتا ہے (جسے چیلنج ونڈو کہا جاتا ہے)۔ یہ صارفین کو ایگزٹ ٹرانزیکشن کو چیلنج کرنے کی اجازت دیتا ہے، خاص طور پر اگر دوسرا فریق باسی اپ ڈیٹ کا اطلاق کر رہا ہو۔ + +کچھ بھی ہو، چینل کے صارفین کے پاس ہمیشہ مضبوط حتمی ضمانتیں ہوتی ہیں: اگر ان کے قبضے میں اسٹیٹ ٹرانزیشن پر تمام اراکین کے دستخط ہوتے ہیں اور یہ سب سے حالیہ اپ ڈیٹ ہے، تو یہ ایک باقاعدہ آن چین ٹرانزیکشن کے ساتھ مساوی حتمیت کا ہے۔ انہیں اب بھی دوسرے فریق کو آن چین چیلنج کرنا ہے، لیکن صرف ممکنہ نتیجہ آخری درست حالت کو حتمی شکل دے رہا ہے، جسے وہ رکھتے ہیں۔ + +### اسٹیٹ چینلز ایتھیریم کے ساتھ کیسے تعامل کرتے ہیں؟ {#how-do-state-channels-interact-with-ethereum} + +اگرچہ وہ آف چین پروٹوکول کے طور پر موجود ہیں، اسٹیٹ چینلز کا ایک آن چین جزو ہے: چینل کھولتے وقت ایتھیریم پر تعینات اسمارٹ کنٹریکٹ۔ یہ معاہدہ چینل میں جمع کیے گئے اثاثوں کو کنٹرول کرتا ہے، اسٹیٹ اپ ڈیٹس کی تصدیق کرتا ہے، اور شرکاء کے درمیان تنازعات میں ثالثی کرتا ہے۔ + +اسٹیٹ چینلز [لیئر 2](/layer-2/) اسکیلنگ سلوشنز کے برعکس، مین نیٹ پر ٹرانزیکشن ڈیٹا یا اسٹیٹ کمٹمنٹس شائع نہیں کرتے ہیں۔ تاہم، وہ مین نیٹ سے زیادہ جڑے ہوئے ہیں، کہتے ہیں، [سائیڈ چینز](/developers/docs/scaling/sidechains/)، انہیں کسی حد تک محفوظ بناتے ہیں۔ + +اسٹیٹ چینلز مندرجہ ذیل کے لیے مرکزی ایتھیریم پروٹوکول پر انحصار کرتے ہیں: + +#### 1۔ زندگی {#liveness} + +چینل کھولتے وقت تعینات آن چین کنٹریکٹ چینل کی فعالیت کے لیے ذمہ دار ہے۔ اگر معاہدہ ایتھیریم پر چل رہا ہے، تو چینل ہمیشہ استعمال کے لیے دستیاب ہے۔ اس کے برعکس، ایک سائیڈ چین ہمیشہ ناکام ہو سکتا ہے، چاہے مین نیٹ کام کر رہا ہو، جس سے صارف کے فنڈز کو خطرہ لاحق ہو جاتا ہے۔ + +#### 2۔ سیکیورٹی {#security} + +ایک حد تک، اسٹیٹ چینلز سیکیورٹی فراہم کرنے اور صارفین کو بدنیتی پر مبنی ہم مرتبہ لوگوں سے بچانے کے لیے ایتھیریم پر انحصار کرتے ہیں۔ جیسا کہ بعد کے حصوں میں زیر بحث آیا، چینلز ایک فراڈ پروف میکانزم کا استعمال کرتے ہیں جو صارفین کو غلط یا باسی اپ ڈیٹ کے ساتھ چینل کو حتمی شکل دینے کی کوششوں کو چیلنج کرنے دیتا ہے۔ + +اس معاملے میں، ایماندار فریق چینل کی تازہ ترین درست حالت کو تصدیق کے لیے آن چین کنٹریکٹ کو فراڈ پروف کے طور پر فراہم کرتا ہے۔ فراڈ پروفس باہمی طور پر غیر اعتمادی فریقوں کو اس عمل میں اپنے فنڈز کو خطرے میں ڈالے بغیر آف چین لین دین کرنے کے قابل بناتے ہیں۔ + +#### 3۔ حتمیت {#finality} + +چینل کے صارفین کے ذریعے اجتماعی طور پر دستخط کیے گئے اسٹیٹ اپ ڈیٹس کو آن چین ٹرانزیکشنز کی طرح اچھا سمجھا جاتا ہے۔ پھر بھی، تمام ان چینل سرگرمی صرف اس وقت حقیقی حتمیت حاصل کرتی ہے جب چینل ایتھیریم پر بند ہو جاتا ہے۔ + +پرامید معاملے میں، دونوں فریق تعاون کر سکتے ہیں اور حتمی اسٹیٹ اپ ڈیٹ پر دستخط کر سکتے ہیں اور چینل کو بند کرنے کے لیے آن چین جمع کر سکتے ہیں، جس کے بعد فنڈز چینل کی حتمی حالت کے مطابق تقسیم کیے جاتے ہیں۔ مایوسی کے معاملے میں، جہاں کوئی آن چین پر غلط اسٹیٹ اپ ڈیٹ پوسٹ کرکے دھوکہ دینے کی کوشش کرتا ہے، ان کا لین دین اس وقت تک حتمی نہیں ہوتا جب تک کہ چیلنج ونڈو ختم نہ ہوجائے۔ + +## ورچوئل اسٹیٹ چینلز {#virtual-state-channels} + +اسٹیٹ چینل کا ایک سادہ نفاذ ایک نیا معاہدہ تعینات کرنا ہوگا جب دو صارف آف چین کسی ایپلیکیشن کو انجام دینا چاہتے ہیں۔ یہ نہ صرف ناقابل عمل ہے، بلکہ یہ اسٹیٹ چینلز کی لاگت کی تاثیر کو بھی رد کرتا ہے (آن چین ٹرانزیکشن کے اخراجات میں تیزی سے اضافہ ہو سکتا ہے)۔ + +اس مسئلے کو حل کرنے کے لیے، "ورچوئل چینلز" بنائے گئے۔ باقاعدہ چینلز کے برعکس جن کو کھولنے اور ختم کرنے کے لیے آن چین ٹرانزیکشنز کی ضرورت ہوتی ہے، ایک ورچوئل چینل کو مرکزی چین سے بات چیت کیے بغیر کھولا، عمل میں لایا اور حتمی شکل دی جا سکتی ہے۔ اس طریقہ کا استعمال کرتے ہوئے آف چین تنازعات کو طے کرنا بھی ممکن ہے۔ + +یہ نظام نام نہاد "لیجر چینلز" کے وجود پر انحصار کرتا ہے، جنہیں آن چین فنڈ کیا گیا ہے۔ دو فریقوں کے درمیان ورچوئل چینلز کو ایک موجودہ لیجر چینل کے اوپر بنایا جا سکتا ہے، جس میں لیجر چینل کا مالک (مالک) ایک ثالث کے طور پر کام کرتا ہے۔ + +ہر ورچوئل چینل میں صارفین ایک نئے کنٹریکٹ مثال کے ذریعے تعامل کرتے ہیں، جس میں لیجر چینل متعدد کنٹریکٹ مثالوں کو سپورٹ کرنے کے قابل ہوتا ہے۔ لیجر چینل کی حالت میں ایک سے زیادہ کنٹریکٹ اسٹوریج اسٹیٹ بھی ہوتا ہے، جو مختلف صارفین کے درمیان آف چین ایپلیکیشنز کے متوازی عمل درآمد کی اجازت دیتا ہے۔ + +باقاعدہ چینلز کی طرح، صارفین اسٹیٹ مشین کو آگے بڑھانے کے لیے اسٹیٹ اپ ڈیٹس کا تبادلہ کرتے ہیں۔ جب تک کہ کوئی تنازعہ پیدا نہ ہو، ثالث سے صرف چینل کو کھولتے یا ختم کرتے وقت رابطہ کیا جانا چاہیے۔ + +### ورچوئل ادائیگی کے چینلز {#virtual-payment-channels} + +ورچوئل ادائیگی کے چینلز ورچوئل اسٹیٹ چینلز کی طرح ہی کام کرتے ہیں: ایک ہی نیٹ ورک سے جڑے شرکاء آن چین پر نیا چینل کھولنے کی ضرورت کے بغیر پیغامات بھیج سکتے ہیں۔ ورچوئل ادائیگی کے چینلز میں، قدر کی منتقلی کو ایک یا زیادہ بیچوانوں کے ذریعے روٹ کیا جاتا ہے، اس ضمانت کے ساتھ کہ صرف مطلوبہ وصول کنندہ ہی منتقل شدہ فنڈز حاصل کر سکتا ہے۔ + +## اسٹیٹ چینلز کی ایپلی کیشنز {#applications-of-state-channels} + +### ادائیگیاں {#payments} + +ابتدائی بلاک چین چینلز سادہ پروٹوکول تھے جو دو شرکاء کو مین نیٹ پر زیادہ ٹرانزیکشن فیس ادا کیے بغیر آف چین تیز، کم فیس کی منتقلی کرنے کی اجازت دیتے تھے۔ آج، ادائیگی کے چینلز اب بھی ایتھر اور ٹوکن کے تبادلے اور جمع کے لیے ڈیزائن کردہ ایپلی کیشنز کے لیے کارآمد ہیں۔ + +چینل پر مبنی ادائیگیوں کے درج ذیل فوائد ہیں: + +1. **تھروپٹ**: فی چینل آف چین ٹرانزیکشنز کی مقدار ایتھیریم کے تھروپٹ سے غیر منسلک ہے، جو مختلف عوامل سے متاثر ہوتی ہے، خاص طور پر بلاک سائز اور بلاک ٹائم۔ آف چین ٹرانزیکشنز کو انجام دے کر، بلاک چین چینلز زیادہ تھروپٹ حاصل کر سکتے ہیں۔ + +2. **رازداری**: چونکہ چینلز آف چین موجود ہیں، شرکاء کے درمیان تعامل کی تفصیلات ایتھیریم کے عوامی بلاک چین پر درج نہیں ہیں۔ چینل کے صارفین کو صرف چینلز کو فنڈ دینے اور بند کرنے یا تنازعات کو طے کرنے کے وقت آن چین پر بات چیت کرنی پڑتی ہے۔ اس طرح، چینلز ان افراد کے لیے مفید ہیں جو زیادہ نجی لین دین چاہتے ہیں۔ + +3. **لیٹنسی**: چینل کے شرکاء کے درمیان کیے جانے والے آف چین لین دین کو فوری طور پر طے کیا جا سکتا ہے، اگر دونوں فریق تعاون کریں، تاخیر کو کم کریں۔ اس کے برعکس، مین نیٹ پر لین دین بھیجنے کے لیے نوڈس کے لین دین پر کارروائی کرنے، لین دین کے ساتھ ایک نیا بلاک تیار کرنے، اور اتفاق رائے تک پہنچنے کا انتظار کرنا پڑتا ہے۔ صارفین کو لین دین کو حتمی شکل دینے سے پہلے مزید بلاک تصدیق کا انتظار کرنے کی بھی ضرورت پڑسکتی ہے۔ + +4. **لاگت**: اسٹیٹ چینلز ان حالات میں خاص طور پر کارآمد ہیں جہاں شرکاء کا ایک مجموعہ طویل عرصے تک بہت سے اسٹیٹ اپ ڈیٹس کا تبادلہ کرے گا۔ صرف اسٹیٹ چینل اسمارٹ کنٹریکٹ کو کھولنے اور بند کرنے کے اخراجات ہیں؛ چینل کو کھولنے اور بند کرنے کے درمیان ہر اسٹیٹ کی تبدیلی آخری سے سستی ہوگی کیونکہ تصفیہ کی لاگت اسی کے مطابق تقسیم کی جاتی ہے۔ + +[رول اپس](/developers/docs/scaling/#rollups) جیسے لیئر 2 حل پر اسٹیٹ چینلز کو نافذ کرنا، انہیں ادائیگیوں کے لیے اور بھی زیادہ پرکشش بنا سکتا ہے۔ جبکہ چینلز سستی ادائیگیاں پیش کرتے ہیں، افتتاحی مرحلے کے دوران مین نیٹ پر آن چین کنٹریکٹ قائم کرنے کے اخراجات مہنگے ہو سکتے ہیں—خاص طور پر جب گیس کی فیسیں بڑھ جاتی ہیں۔ ایتھیریم پر مبنی رول اپس [کم ٹرانزیکشن فیس](https://l2fees.info/) پیش کرتے ہیں اور سیٹ اپ فیس کو کم کرکے چینل کے شرکاء کے لیے اوور ہیڈ کو کم کرسکتے ہیں۔ + +### مائیکرو ٹرانزیکشنز {#microtransactions} + +مائیکرو ٹرانزیکشنز کم قیمت والی ادائیگیاں ہیں (مثلاً، ڈالر کے ایک حصے سے کم) جن پر کاروبار بغیر نقصان اٹھائے کارروائی نہیں کر سکتے۔ ان اداروں کو ادائیگی کی خدمات فراہم کرنے والوں کو ادائیگی کرنی ہوگی، جو وہ نہیں کر سکتے اگر کسٹمر کی ادائیگیوں پر مارجن منافع کمانے کے لیے بہت کم ہو۔ + +ادائیگی کے چینلز مائیکرو ٹرانزیکشنز سے وابستہ اوور ہیڈ کو کم کرکے اس مسئلے کو حل کرتے ہیں۔ مثال کے طور پر، ایک انٹرنیٹ سروس فراہم کنندہ (ISP) ایک صارف کے ساتھ ادائیگی کا چینل کھول سکتا ہے، جس سے وہ ہر بار سروس استعمال کرنے پر چھوٹی چھوٹی ادائیگیاں کر سکتے ہیں۔ + +چینل کو کھولنے اور بند کرنے کی لاگت سے ہٹ کر، شرکاء مائیکرو ٹرانزیکشنز پر مزید اخراجات برداشت نہیں کرتے (کوئی گیس فیس نہیں)۔ یہ ایک جیت کی صورت حال ہے کیونکہ صارفین کو خدمات کے لیے کتنا ادائیگی کرنا ہے اس میں زیادہ لچک ہوتی ہے اور کاروبار منافع بخش مائیکرو ٹرانزیکشنز سے محروم نہیں ہوتے ہیں۔ + +### غیر مرکزی ایپلی کیشنز {#decentralized-applications} + +ادائیگی چینلز کی طرح، اسٹیٹ چینلز اسٹیٹ مشین کی حتمی حالتوں کے مطابق مشروط ادائیگیاں کر سکتے ہیں۔ اسٹیٹ چینلز من مانی اسٹیٹ ٹرانزیشن منطق کی بھی حمایت کر سکتے ہیں، جو انہیں عام ایپس کو آف چین پر عمل درآمد کے لیے مفید بناتا ہے۔ + +اسٹیٹ چینلز اکثر سادہ باری پر مبنی ایپلی کیشنز تک محدود ہوتے ہیں، کیونکہ اس سے آن چین کنٹریکٹ کے لیے প্রতিশ্রুতিবদ্ধ فنڈز کا انتظام کرنا آسان ہو جاتا ہے۔ اس کے علاوہ، وقفوں پر آف چین ایپلیکیشن کی حالت کو اپ ڈیٹ کرنے والی فریقوں کی ایک محدود تعداد کے ساتھ، بے ایمان رویے کی سزا دینا نسبتاً سیدھا ہے۔ + +اسٹیٹ چینل ایپلیکیشن کی کارکردگی بھی اس کے ڈیزائن پر منحصر ہے۔ مثال کے طور پر، ایک ڈیولپر ایپ چینل کنٹریکٹ کو ایک بار آن چین پر تعینات کر سکتا ہے اور دوسرے کھلاڑیوں کو آن چین جانے کی ضرورت کے بغیر ایپ کو دوبارہ استعمال کرنے کی اجازت دے سکتا ہے۔ اس معاملے میں، ابتدائی ایپ چینل ایک لیجر چینل کے طور پر کام کرتا ہے جو متعدد ورچوئل چینلز کو سپورٹ کرتا ہے، ہر ایک ایپ کے اسمارٹ کنٹریکٹ کا ایک نیا مثال آف چین چلاتا ہے۔ + +اسٹیٹ چینل ایپلی کیشنز کے لیے ایک ممکنہ استعمال کا معاملہ سادہ دو کھلاڑیوں کے کھیل ہیں، جہاں فنڈز کھیل کے نتائج کی بنیاد پر تقسیم کیے جاتے ہیں۔ یہاں فائدہ یہ ہے کہ کھلاڑیوں کو ایک دوسرے پر بھروسہ کرنے کی ضرورت نہیں ہے (بے اعتمادی) اور آن چین کنٹریکٹ، کھلاڑی نہیں، فنڈز کی تقسیم اور تنازعات کے تصفیے کو کنٹرول کرتا ہے (غیر مرکزیت)۔ + +اسٹیٹ چینل ایپس کے لیے دیگر ممکنہ استعمال کے معاملات میں ENS نام کی ملکیت، NFT لیجرز، اور بہت کچھ شامل ہے۔ + +### جوہری منتقلی {#atomic-transfers} + +ابتدائی ادائیگی کے چینلز دو فریقوں کے درمیان منتقلی تک محدود تھے، جس سے ان کے استعمال میں محدودیت تھی۔ تاہم، ورچوئل چینلز کے تعارف نے افراد کو بیچوانوں (یعنی، متعدد p2p چینلز) کے ذریعے منتقلی کو روٹ کرنے کی اجازت دی بغیر آن چین پر نیا چینل کھولنے کی ضرورت کے۔ + +عام طور پر "ملٹی ہاپ ٹرانسفر" کے طور پر بیان کیا جاتا ہے، روٹ کی گئی ادائیگیاں جوہری ہیں (یعنی، یا تو لین دین کے تمام حصے کامیاب ہوتے ہیں یا یہ مکمل طور پر ناکام ہو جاتا ہے)۔ اٹامک ٹرانسفرز [ہیشڈ ٹائم لاک کنٹریکٹس (HTLCs)](https://en.bitcoin.it/wiki/Hash_Time_Locked_Contracts) کا استعمال کرتے ہیں تاکہ یہ یقینی بنایا جا سکے کہ ادائیگی صرف اس صورت میں جاری کی جائے جب کچھ شرائط پوری ہوں، اس طرح فریق مخالف کا خطرہ کم ہو جاتا ہے۔ + +## اسٹیٹ چینلز کے استعمال کے نقصانات {#drawbacks-of-state-channels} + +### زندگی کے مفروضے {#liveness-assumptions} + +کارکردگی کو یقینی بنانے کے لیے، اسٹیٹ چینلز چینل کے شرکاء کی تنازعات کا جواب دینے کی صلاحیت پر وقت کی حدیں لگاتے ہیں۔ یہ اصول فرض کرتا ہے کہ ساتھی چینل کی سرگرمی کی نگرانی کرنے اور ضرورت پڑنے پر چیلنجوں کا مقابلہ کرنے کے لیے ہمیشہ آن لائن رہیں گے۔ + +حقیقت میں، صارفین اپنے کنٹرول سے باہر وجوہات کی بناء پر آف لائن ہو سکتے ہیں (مثلاً، خراب انٹرنیٹ کنکشن، مکینیکل ناکامی، وغیرہ)۔ اگر کوئی ایماندار صارف آف لائن ہو جاتا ہے، تو ایک بدنیتی پر مبنی ہم مرتبہ فیصلہ کرنے والے معاہدے میں پرانی درمیانی حالتیں پیش کرکے اور প্রতিশ্রুতিবদ্ধ فنڈز چوری کرکے صورتحال کا فائدہ اٹھا سکتا ہے۔ + +کچھ چینلز "واچ ٹاورز" کا استعمال کرتے ہیں— جو دوسروں کی جانب سے آن چین تنازعہ کے واقعات کو دیکھنے اور ضروری کارروائیاں کرنے کے لیے ذمہ دار ہیں، جیسے متعلقہ فریقوں کو آگاہ کرنا۔ تاہم، یہ اسٹیٹ چینل کے استعمال کی لاگت میں اضافہ کر سکتا ہے۔ + +### ڈیٹا کی عدم دستیابی {#data-unavailability} + +جیسا کہ پہلے وضاحت کی گئی ہے، ایک غلط تنازعہ کو چیلنج کرنے کے لیے اسٹیٹ چینل کی تازہ ترین، درست حالت پیش کرنے کی ضرورت ہے۔ یہ ایک مفروضے پر مبنی ایک اور اصول ہے—کہ صارفین کو چینل کی تازہ ترین حالت تک رسائی حاصل ہے۔ + +اگرچہ چینل کے صارفین سے آف چین ایپلیکیشن اسٹیٹ کی کاپیاں ذخیرہ کرنے کی توقع کرنا معقول ہے، لیکن یہ ڈیٹا غلطی یا مکینیکل ناکامی کی وجہ سے ضائع ہو سکتا ہے۔ اگر صارف کے پاس ڈیٹا کا بیک اپ نہیں ہے، تو وہ صرف یہ امید کر سکتے ہیں کہ دوسرا فریق اپنے قبضے میں پرانی اسٹیٹ ٹرانزیشن کا استعمال کرتے ہوئے غلط ایگزٹ کی درخواست کو حتمی شکل نہ دے۔ + +ایتھیریم صارفین کو اس مسئلے سے نمٹنے کی ضرورت نہیں ہے کیونکہ نیٹ ورک ڈیٹا کی دستیابی پر قواعد نافذ کرتا ہے۔ ٹرانزیکشن ڈیٹا تمام نوڈس کے ذریعہ ذخیرہ اور پھیلایا جاتا ہے اور ضرورت پڑنے پر صارفین کو ڈاؤن لوڈ کرنے کے لیے دستیاب ہوتا ہے۔ + +### لیکویڈیٹی کے مسائل {#liquidity-issues} + +بلاک چین چینل قائم کرنے کے لیے، شرکاء کو چینل کی زندگی کے لیے آن چین اسمارٹ کنٹریکٹ میں فنڈز لاک کرنے کی ضرورت ہے۔ یہ چینل کے صارفین کی لیکویڈیٹی کو کم کرتا ہے اور چینلز کو ان لوگوں تک محدود کرتا ہے جو مین نیٹ پر فنڈز کو لاک رکھنے کے متحمل ہو سکتے ہیں۔ + +تاہم، لیجر چینلز—جو آف چین سروس فراہم کنندہ (OSP) کے ذریعے چلائے جاتے ہیں—صارفین کے لیے لیکویڈیٹی کے مسائل کو کم کر سکتے ہیں۔ لیجر چینل سے جڑے دو ساتھی ایک ورچوئل چینل بنا سکتے ہیں، جسے وہ جب چاہیں مکمل طور پر آف چین کھول سکتے ہیں اور حتمی شکل دے سکتے ہیں۔ + +آف چین سروس فراہم کنندگان متعدد ہم مرتبہ لوگوں کے ساتھ چینلز بھی کھول سکتے ہیں، جو انہیں ادائیگیوں کی روٹنگ کے لیے مفید بناتا ہے۔ یقیناً، صارفین کو OSPs کو ان کی خدمات کے لیے فیس ادا کرنی ہوگی، جو کچھ کے لیے ناپسندیدہ ہو سکتی ہے۔ + +### غمناک حملے {#griefing-attacks} + +غمناک حملے فراڈ پروف پر مبنی نظاموں کی ایک عام خصوصیت ہیں۔ غمناک حملہ براہ راست حملہ آور کو فائدہ نہیں پہنچاتا بلکہ متاثرہ کو غم (یعنی نقصان) پہنچاتا ہے، اس لیے یہ نام ہے۔ + +دھوکہ دہی کا ثبوت غمگین حملوں کا شکار ہے کیونکہ ایماندار فریق کو ہر تنازعہ کا جواب دینا چاہیے، یہاں تک کہ غلط بھی، ورنہ ان کے فنڈز کھونے کا خطرہ ہے۔ ایک بدنیتی پر مبنی شریک بار بار آن چین پر باسی اسٹیٹ ٹرانزیشن پوسٹ کرنے کا فیصلہ کر سکتا ہے، جس سے ایماندار فریق کو درست حالت کے ساتھ جواب دینے پر مجبور کیا جا سکتا ہے۔ ان آن چین ٹرانزیکشنز کی لاگت تیزی سے بڑھ سکتی ہے، جس سے ایماندار فریقوں کو اس عمل میں نقصان اٹھانا پڑتا ہے۔ + +### پہلے سے طے شدہ شریک سیٹ {#predefined-participant-sets} + +ڈیزائن کے لحاظ سے، ایک اسٹیٹ چینل پر مشتمل شرکاء کی تعداد اس کی پوری زندگی میں مقرر رہتی ہے۔ اس کی وجہ یہ ہے کہ شریک سیٹ کو اپ ڈیٹ کرنے سے چینل کا آپریشن پیچیدہ ہو جائے گا، خاص طور پر چینل کو فنڈ دیتے وقت، یا تنازعات کو طے کرتے وقت۔ شرکاء کو شامل کرنے یا ہٹانے کے لیے اضافی آن چین سرگرمی کی بھی ضرورت ہوگی، جس سے صارفین کے لیے اوور ہیڈ بڑھ جاتا ہے۔ + +جبکہ یہ اسٹیٹ چینلز کے بارے میں استدلال کرنا آسان بناتا ہے، یہ ایپلیکیشن ڈویلپرز کے لیے چینل ڈیزائن کی افادیت کو محدود کرتا ہے۔ یہ جزوی طور پر وضاحت کرتا ہے کہ رول اپس جیسے دیگر اسکیلنگ حلوں کے حق میں اسٹیٹ چینلز کو کیوں چھوڑ دیا گیا ہے۔ + +### متوازی ٹرانزیکشن پروسیسنگ {#parallel-transaction-processing} + +اسٹیٹ چینل میں شرکاء باری باری اسٹیٹ اپ ڈیٹس بھیجتے ہیں، یہی وجہ ہے کہ وہ "باری پر مبنی ایپلی کیشنز" (جیسے، دو کھلاڑیوں کا شطرنج کا کھیل) کے لیے بہترین کام کرتے ہیں۔ یہ بیک وقت اسٹیٹ اپ ڈیٹس کو ہینڈل کرنے کی ضرورت کو ختم کرتا ہے اور اس کام کو کم کرتا ہے جو آن چین کنٹریکٹ کو باسی اپ ڈیٹ پوسٹروں کو سزا دینے کے لیے کرنا چاہیے۔ تاہم، اس ڈیزائن کا ایک ضمنی اثر یہ ہے کہ لین دین ایک دوسرے پر منحصر ہیں، جس سے تاخیر میں اضافہ ہوتا ہے اور صارف کے مجموعی تجربے کو کم کیا جاتا ہے۔ + +کچھ اسٹیٹ چینلز اس مسئلے کو "فل ڈوپلیکس" ڈیزائن کا استعمال کرکے حل کرتے ہیں جو آف چین اسٹیٹ کو دو یک طرفہ "سمپلیکس" حالتوں میں الگ کرتا ہے، جس سے ہم آہنگ اسٹیٹ اپ ڈیٹس کی اجازت ملتی ہے۔ ایسے ڈیزائن آف چین تھروپٹ کو بہتر بناتے ہیں اور لین دین میں تاخیر کو کم کرتے ہیں۔ + +## اسٹیٹ چینلز کا استعمال کریں {#use-state-channels} + +متعدد پروجیکٹس اسٹیٹ چینلز کے نفاذ فراہم کرتے ہیں جنہیں آپ اپنے ڈیپس میں ضم کر سکتے ہیں: + +- [Connext](https://connext.network/) +- [Kchannels](https://www.kchannels.io/) +- [Perun](https://perun.network/) +- [Raiden](https://raiden.network/) +- [Statechannels.org](https://statechannels.org/) + +## مزید پڑھیں {#further-reading} + +**اسٹیٹ چینلز** + +- [ایتھیریم کے لیئر 2 اسکیلنگ سلوشنز کو سمجھنا: اسٹیٹ چینلز، پلازما، اور ٹروبٹ](https://medium.com/l4-media/making-sense-of-ethereums-layer-2-scaling-solutions-state-channels-plasma-and-truebit-22cb40dcc2f4) _– Josh Stark, Feb 12 2018_ +- [اسٹیٹ چینلز - ایک وضاحت](https://www.jeffcoleman.ca/state-channels/) _Nov 6, 2015 - Jeff Coleman_ +- [اسٹیٹ چینلز کی بنیادی باتیں](https://education.district0x.io/general-topics/understanding-ethereum/basics-state-channels/) _District0x_ +- [بلاک چین اسٹیٹ چینلز: ایک اسٹیٹ آف دی آرٹ](https://ieeexplore.ieee.org/document/9627997) + +_کسی کمیونٹی وسیلے کے بارے میں جانتے ہیں جس نے آپ کی مدد کی ہو؟ اس صفحہ میں ترمیم کریں اور اسے شامل کریں!_ diff --git a/public/content/translations/ur/developers/docs/scaling/validium/index.md b/public/content/translations/ur/developers/docs/scaling/validium/index.md new file mode 100644 index 00000000000..e3a7b78bd37 --- /dev/null +++ b/public/content/translations/ur/developers/docs/scaling/validium/index.md @@ -0,0 +1,166 @@ +--- +title: "ویلیڈیم" +description: "ایتھریم کمیونٹی کے ذریعے فی الحال استعمال کیے جانے والے اسکیلنگ سلوشن کے طور پر ویلیڈیم کا تعارف۔" +lang: ur-in +sidebarDepth: 3 +--- + +ویلیڈیم ایک [اسکیلنگ سلوشن](/developers/docs/scaling/) ہے جو [ZK-رول اپس](/developers/docs/scaling/zk-rollups/) کی طرح توثیقی ثبوتوں کا استعمال کرتے ہوئے ٹرانزیکشنز کی سالمیت کو نافذ کرتا ہے، لیکن ٹرانزیکشن ڈیٹا کو ایتھریم مین نیٹ پر اسٹور نہیں کرتا ہے۔ جبکہ آف چین ڈیٹا کی دستیابی کچھ سمجھوتے متعارف کراتی ہے، یہ اسکیل ایبلیٹی میں بڑی بہتری کا باعث بن سکتی ہے (ویلیڈیمز [~9,000 ٹرانزیکشنز، یا اس سے زیادہ، فی سیکنڈ](https://blog.matter-labs.io/zkrollup-vs-validium-starkex-5614e38bc263) پروسیس کر سکتے ہیں)۔ + +## شرائط {#prerequisites} + +آپ کو [ایتھریم اسکیلنگ](/developers/docs/scaling/) اور [لئیر 2](/layer-2) پر ہمارا صفحہ پڑھا اور سمجھا ہوا ہونا چاہیے۔ + +## ویلیڈیم کیا ہے؟ {#what-is-validium} + +ویلیڈیمز اسکیلنگ سلوشنز ہیں جو آف چین ڈیٹا کی دستیابی اور کمپیوٹیشن کا استعمال کرتے ہیں جو ایتھریم مین نیٹ سے باہر ٹرانزیکشنز پروسیس کرکے تھرو پٹ کو بہتر بنانے کے لیے ڈیزائن کیے گئے ہیں۔ زیرو نالج رول اپس (ZK-رول اپس) کی طرح، ویلیڈیمز ایتھریم پر آف چین ٹرانزیکشنز کی تصدیق کے لیے [زیرو نالج پروفس](/glossary/#zk-proof) شائع کرتے ہیں۔ یہ غلط اسٹیٹ ٹرانزیشنز کو روکتا ہے اور ویلیڈیم چین کی سیکیورٹی گارنٹی کو بڑھاتا ہے۔ + +یہ "توثیقی ثبوت" ZK-SNARKs (زیرو-نالج سکسنکٹ نان-انٹرایکٹو آرگومنٹ آف نالج) یا ZK-STARKs (زیرو-نالج اسکیل ایبل ٹرانسپیرنٹ آرگومنٹ آف نالج) کی شکل میں آ سکتے ہیں۔ [زیرو نالج پروفس](https://consensys.net/blog/blockchain-explained/zero-knowledge-proofs-starks-vs-snarks/) پر مزید۔ + +ویلیڈیم صارفین کے فنڈز ایتھریم پر ایک اسمارٹ کنٹریکٹ کے ذریعے کنٹرول کیے جاتے ہیں۔ ویلیڈیمز تقریباً فوری طور پر فنڈز نکالنے کی سہولت فراہم کرتے ہیں، بالکل اسی طرح جیسے ZK-رول اپس کرتے ہیں؛ ایک بار جب مین نیٹ پر فنڈز نکالنے کی درخواست کے لیے توثیقی ثبوت کی تصدیق ہو جاتی ہے، تو صارفین [مرکل پروفس](/developers/tutorials/merkle-proofs-for-offline-data-integrity/) فراہم کرکے فنڈز نکال سکتے ہیں۔ مرکل پروف ایک تصدیق شدہ ٹرانزیکشن بیچ میں صارف کے فنڈز نکالنے کے ٹرانزیکشن کی شمولیت کی توثیق کرتا ہے، جس سے آن چین کنٹریکٹ کو فنڈز نکالنے کی کارروائی کرنے کی اجازت ملتی ہے۔ + +تاہم، ویلیڈیم صارفین کے فنڈز منجمد کیے جا سکتے ہیں اور فنڈز نکالنے پر پابندی لگائی جا سکتی ہے۔ ایسا ہو سکتا ہے اگر ویلیڈیم چین پر ڈیٹا کی دستیابی کے مینیجرز صارفین سے آف چین اسٹیٹ ڈیٹا روک لیں۔ ٹرانزیکشن ڈیٹا تک رسائی کے بغیر، صارفین فنڈز کی ملکیت ثابت کرنے اور فنڈز نکالنے کے لیے درکار مرکل پروف کا حساب نہیں لگا سکتے۔ + +یہ ویلیڈیمز اور ZK-رول اپس کے درمیان بڑا فرق ہے—ڈیٹا کی دستیابی کے اسپیکٹرم پر ان کی پوزیشن۔ دونوں سلوشنز ڈیٹا اسٹوریج کو مختلف طریقے سے دیکھتے ہیں، جس کے سیکیورٹی اور ٹرسلیس نیس پر اثرات مرتب ہوتے ہیں۔ + +## ویلیڈیمز ایتھریم کے ساتھ کیسے تعامل کرتے ہیں؟ {#how-do-validiums-interact-with-ethereum} + +ویلیڈیمز موجودہ ایتھریم چین کے اوپر بنائے گئے اسکیلنگ پروٹوکولز ہیں۔ اگرچہ یہ آف چین ٹرانزیکشنز کو انجام دیتا ہے، ایک ویلیڈیم چین کو مین نیٹ پر تعینات اسمارٹ کنٹریکٹس کے ایک مجموعے کے ذریعے منظم کیا جاتا ہے جس میں شامل ہیں: + +1. **تصدیق کنندہ کنٹریکٹ**: تصدیق کنندہ کنٹریکٹ اسٹیٹ اپ ڈیٹس کرتے وقت ویلیڈیم آپریٹر کے ذریعے جمع کرائے گئے ثبوتوں کی توثیق کرتا ہے۔ اس میں آف چین ٹرانزیکشنز کی درستگی کی تصدیق کرنے والے توثیقی ثبوت اور آف چین ٹرانزیکشن ڈیٹا کے وجود کی تصدیق کرنے والے ڈیٹا کی دستیابی کے ثبوت شامل ہیں۔ + +2. **مرکزی کنٹریکٹ**: مرکزی کنٹریکٹ بلاک پروڈیوسرز کے ذریعے جمع کرائے گئے اسٹیٹ کمٹمنٹس (مرکل روٹس) کو اسٹور کرتا ہے اور ایک بار جب آن چین توثیقی ثبوت کی تصدیق ہو جاتی ہے تو ویلیڈیم کے اسٹیٹ کو اپ ڈیٹ کرتا ہے۔ یہ کنٹریکٹ ویلیڈیم چین میں ڈپازٹس اور نکاسی کی کارروائی بھی کرتا ہے۔ + +ویلیڈیمز مندرجہ ذیل کے لیے مرکزی ایتھریم چین پر بھی انحصار کرتے ہیں: + +### سیٹلمنٹ {#settlement} + +ویلیڈیم پر کیے گئے ٹرانزیکشنز کی مکمل طور پر تصدیق اس وقت تک نہیں کی جا سکتی جب تک کہ پیرنٹ چین ان کی توثیق نہ کر لے۔ ویلیڈیم پر کیے گئے تمام کاروبار کو بالآخر مین نیٹ پر سیٹل کرنا ضروری ہے۔ ایتھریم بلاک چین ویلیڈیم صارفین کے لیے "سیٹلمنٹ گارنٹی" بھی فراہم کرتا ہے، جس کا مطلب ہے کہ ایک بار آن چین کمٹ ہوجانے کے بعد آف چین ٹرانزیکشنز کو ریورس یا تبدیل نہیں کیا جاسکتا۔ + +### سیکیورٹی {#security} + +ایتھریم، ایک سیٹلمنٹ لئیر کے طور پر کام کرتے ہوئے، ویلیڈیم پر اسٹیٹ ٹرانزیشنز کی توثیق کی بھی ضمانت دیتا ہے۔ ویلیڈیم چین پر انجام دیئے گئے آف چین ٹرانزیکشنز کی تصدیق بیس ایتھریم لئیر پر ایک اسمارٹ کنٹریکٹ کے ذریعے کی جاتی ہے۔ + +اگر آن چین تصدیق کنندہ کنٹریکٹ ثبوت کو غلط سمجھتا ہے، تو ٹرانزیکشنز کو مسترد کر دیا جاتا ہے۔ اس کا مطلب ہے کہ آپریٹرز کو ویلیڈیم کے اسٹیٹ کو اپ ڈیٹ کرنے سے پہلے ایتھریم پروٹوکول کے ذریعے نافذ کردہ توثیقی شرائط کو پورا کرنا ہوگا۔ + +## ویلیڈیم کیسے کام کرتا ہے؟ {#how-does-validium-work} + +### ٹرانزیکشنز {#transactions} + +صارفین آپریٹر کو ٹرانزیکشنز جمع کراتے ہیں، جو ویلیڈیم چین پر ٹرانزیکشنز کو انجام دینے کے لیے ذمہ دار ایک نوڈ ہے۔ کچھ ویلیڈیمز چین کو چلانے کے لیے ایک واحد آپریٹر کا استعمال کر سکتے ہیں یا آپریٹرز کو گھمانے کے لیے [پروف آف اسٹیک (PoS)](/developers/docs/consensus-mechanisms/pos/) میکانزم پر انحصار کر سکتے ہیں۔ + +آپریٹر ٹرانزیکشنز کو ایک بیچ میں جمع کرتا ہے اور اسے ثابت کرنے کے لیے ایک پروونگ سرکٹ میں بھیجتا ہے۔ پروونگ سرکٹ ٹرانزیکشن بیچ (اور دیگر متعلقہ ڈیٹا) کو ان پٹ کے طور پر قبول کرتا ہے اور ایک توثیقی ثبوت آؤٹ پٹ کرتا ہے جو اس بات کی تصدیق کرتا ہے کہ آپریشنز صحیح طریقے سے انجام دیے گئے تھے۔ + +### اسٹیٹ کمٹمنٹس {#state-commitments} + +ویلیڈیم کے اسٹیٹ کو مرکل ٹری کے طور پر ہیش کیا جاتا ہے جس کا روٹ ایتھریم پر مرکزی کنٹریکٹ میں اسٹور ہوتا ہے۔ مرکل روٹ، جسے اسٹیٹ روٹ بھی کہا جاتا ہے، ویلیڈیم پر اکاؤنٹس اور بیلنس کے موجودہ اسٹیٹ کے لیے ایک کرپٹوگرافک کمٹمنٹ کے طور پر کام کرتا ہے۔ + +اسٹیٹ اپ ڈیٹ کرنے کے لیے، آپریٹر کو ایک نیا اسٹیٹ روٹ (ٹرانزیکشنز انجام دینے کے بعد) کا حساب لگانا ہوگا اور اسے آن چین کنٹریکٹ میں جمع کرنا ہوگا۔ اگر توثیقی ثبوت درست پایا جاتا ہے، تو مجوزہ اسٹیٹ قبول کر لیا جاتا ہے اور ویلیڈیم نئے اسٹیٹ روٹ پر سوئچ ہو جاتا ہے۔ + +### ڈپازٹس اور نکاسی {#deposits-and-withdrawals} + +صارفین آن چین کنٹریکٹ میں ETH (یا کوئی بھی ERC-کمپیٹیبل ٹوکن) جمع کرکے ایتھریم سے ویلیڈیم میں فنڈز منتقل کرتے ہیں۔ کنٹریکٹ ڈپازٹ ایونٹ کو ویلیڈیم آف چین میں ریلے کرتا ہے، جہاں صارف کے ایڈریس میں ان کے ڈپازٹ کے برابر رقم کریڈٹ کی جاتی ہے۔ آپریٹر اس ڈپازٹ ٹرانزیکشن کو ایک نئے بیچ میں بھی شامل کرتا ہے۔ + +فنڈز کو واپس مین نیٹ میں منتقل کرنے کے لیے، ایک ویلیڈیم صارف نکاسی کا ٹرانزیکشن شروع کرتا ہے اور اسے آپریٹر کو جمع کرتا ہے جو نکاسی کی درخواست کی توثیق کرتا ہے اور اسے ایک بیچ میں شامل کرتا ہے۔ صارف کے اثاثے ویلیڈیم چین پر بھی تباہ کر دیے جاتے ہیں اس سے پہلے کہ وہ سسٹم سے باہر نکل سکیں۔ ایک بار جب بیچ سے وابستہ توثیقی ثبوت کی تصدیق ہو جاتی ہے، تو صارف اپنے ابتدائی ڈپازٹ کی بقیہ رقم نکالنے کے لیے مرکزی کنٹریکٹ کو کال کر سکتا ہے۔ + +ایک اینٹی سینسرشپ میکانزم کے طور پر، ویلیڈیم پروٹوکول صارفین کو آپریٹر کے ذریعے جائے بغیر براہ راست ویلیڈیم کنٹریکٹ سے فنڈز نکالنے کی اجازت دیتا ہے۔ اس معاملے میں، صارفین کو اسٹیٹ روٹ میں اکاؤنٹ کی شمولیت دکھانے کے لیے تصدیق کنندہ کنٹریکٹ کو ایک مرکل پروف فراہم کرنے کی ضرورت ہے۔ اگر ثبوت قبول کر لیا جاتا ہے، تو صارف ویلیڈیم سے اپنے فنڈز نکالنے کے لیے مرکزی کنٹریکٹ کے نکاسی فنکشن کو کال کر سکتا ہے۔ + +### بیچ کی جمع آوری {#batch-submission} + +ٹرانزیکشنز کے ایک بیچ کو انجام دینے کے بعد، آپریٹر متعلقہ توثیقی ثبوت کو تصدیق کنندہ کنٹریکٹ میں جمع کرتا ہے اور مرکزی کنٹریکٹ کو ایک نیا اسٹیٹ روٹ تجویز کرتا ہے۔ اگر ثبوت درست ہے، تو مرکزی کنٹریکٹ ویلیڈیم کے اسٹیٹ کو اپ ڈیٹ کرتا ہے اور بیچ میں ٹرانزیکشنز کے نتائج کو حتمی شکل دیتا ہے۔ + +ZK-رول اپ کے برعکس، ویلیڈیم پر بلاک پروڈیوسرز کو ٹرانزیکشن بیچز کے لیے ٹرانزیکشن ڈیٹا شائع کرنے کی ضرورت نہیں ہے (صرف بلاک ہیڈرز)۔ یہ ویلیڈیم کو خالصتاً آف چین اسکیلنگ پروٹوکول بناتا ہے، "ہائبرڈ" اسکیلنگ پروٹوکولز (یعنی، [لئیر 2](/layer-2/)) کے برعکس جو بلاب ڈیٹا، `calldata`، یا دونوں کے امتزاج کا استعمال کرتے ہوئے مرکزی ایتھریم چین پر اسٹیٹ ڈیٹا شائع کرتے ہیں۔ + +### ڈیٹا کی دستیابی {#data-availability} + +جیسا کہ ذکر کیا گیا ہے، ویلیڈیمز ایک آف چین ڈیٹا دستیابی ماڈل کا استعمال کرتے ہیں، جہاں آپریٹرز تمام ٹرانزیکشن ڈیٹا کو ایتھریم مین نیٹ سے باہر اسٹور کرتے ہیں۔ ویلیڈیم کا کم آن چین ڈیٹا فوٹ پرنٹ اسکیل ایبلیٹی کو بہتر بناتا ہے (تھرو پٹ ایتھریم کی ڈیٹا پروسیسنگ کی صلاحیت سے محدود نہیں ہے) اور صارف کی فیس کو کم کرتا ہے (آن چین ڈیٹا شائع کرنے کی لاگت کم ہے)۔ + +تاہم، آف چین ڈیٹا کی دستیابی ایک مسئلہ پیش کرتی ہے: مرکل پروفس بنانے یا تصدیق کرنے کے لیے ضروری ڈیٹا دستیاب نہیں ہو سکتا ہے۔ اس کا مطلب ہے کہ اگر آپریٹرز بدنیتی سے کام کریں تو صارفین آن چین کنٹریکٹ سے فنڈز نکالنے سے قاصر ہو سکتے ہیں۔ + +مختلف ویلیڈیم سلوشنز اسٹیٹ ڈیٹا کے اسٹوریج کو غیر مرکزی بنا کر اس مسئلے کو حل کرنے کی کوشش کرتے ہیں۔ اس میں بلاک پروڈیوسرز کو بنیادی ڈیٹا "ڈیٹا دستیابی مینیجرز" کو بھیجنے پر مجبور کرنا شامل ہے جو آف چین ڈیٹا کو اسٹور کرنے اور درخواست پر صارفین کو دستیاب کرانے کے ذمہ دار ہیں۔ + +ویلیڈیم میں ڈیٹا دستیابی مینیجرز ہر ویلیڈیم بیچ پر دستخط کرکے آف چین ٹرانزیکشنز کے لیے ڈیٹا کی دستیابی کی تصدیق کرتے ہیں۔ یہ دستخط "دستیابی کے ثبوت" کی ایک شکل تشکیل دیتے ہیں جسے آن چین تصدیق کنندہ کنٹریکٹ اسٹیٹ اپ ڈیٹس کو منظور کرنے سے پہلے چیک کرتا ہے۔ + +ویلیڈیمز ڈیٹا دستیابی کے انتظام کے اپنے نقطہ نظر میں مختلف ہیں۔ کچھ اسٹیٹ ڈیٹا کو اسٹور کرنے کے لیے قابل اعتماد پارٹیوں پر انحصار کرتے ہیں، جبکہ دیگر اس کام کے لیے تصادفی طور پر تفویض کردہ توثیق کاروں کا استعمال کرتے ہیں۔ + +#### ڈیٹا دستیابی کمیٹی (DAC) {#data-availability-committee} + +آف چین ڈیٹا کی دستیابی کی ضمانت دینے کے لیے، کچھ ویلیڈیم سلوشنز قابل اعتماد اداروں کے ایک گروپ کو مقرر کرتے ہیں، جسے اجتماعی طور پر ڈیٹا دستیابی کمیٹی (DAC) کہا جاتا ہے، تاکہ اسٹیٹ کی کاپیاں اسٹور کی جا سکیں اور ڈیٹا کی دستیابی کا ثبوت فراہم کیا جا سکے۔ DACs کو نافذ کرنا آسان ہے اور کم کوآرڈینیشن کی ضرورت ہوتی ہے کیونکہ رکنیت کم ہوتی ہے۔ + +تاہم، صارفین کو ضرورت پڑنے پر ڈیٹا دستیاب کرانے کے لیے DAC پر بھروسہ کرنا چاہیے (مثلاً، مرکل پروفس بنانے کے لیے)۔ اس بات کا امکان ہے کہ ڈیٹا دستیابی کمیٹیوں کے اراکین [ایک بدنیتی پر مبنی اداکار کے ذریعے سمجھوتہ کر لیں](https://notes.ethereum.org/DD7GyItYQ02d0ax_X-UbWg?view) جو پھر آف چین ڈیٹا روک سکتا ہے۔ + +[ویلیڈیمز میں ڈیٹا دستیابی کمیٹیوں پر مزید](https://medium.com/starkware/data-availability-e5564c416424)۔ + +#### بانڈڈ ڈیٹا کی دستیابی {#bonded-data-availability} + +دیگر ویلیڈیمز آف لائن ڈیٹا کو اسٹور کرنے کے ذمہ دار شرکاء سے مطالبہ کرتے ہیں کہ وہ اپنے کردار سنبھالنے سے پہلے ایک اسمارٹ کنٹریکٹ میں ٹوکنز کو اسٹیک (یعنی، لاک اپ) کریں۔ یہ اسٹیک ڈیٹا دستیابی مینیجرز کے درمیان ایماندارانہ رویے کی ضمانت دینے کے لیے ایک "بانڈ" کے طور پر کام کرتا ہے اور اعتماد کے مفروضوں کو کم کرتا ہے۔ اگر یہ شرکاء ڈیٹا کی دستیابی کو ثابت کرنے میں ناکام رہتے ہیں، تو بانڈ کو سلیش کر دیا جاتا ہے۔ + +بانڈڈ ڈیٹا دستیابی اسکیم میں، کوئی بھی شخص مطلوبہ اسٹیک فراہم کرنے کے بعد آف چین ڈیٹا رکھنے کے لیے تفویض کیا جا سکتا ہے۔ یہ اہل ڈیٹا دستیابی مینیجرز کے پول کو وسیع کرتا ہے، اس مرکزیت کو کم کرتا ہے جو ڈیٹا دستیابی کمیٹیوں (DACs) کو متاثر کرتی ہے۔ مزید اہم بات یہ ہے کہ یہ نقطہ نظر بدنیتی پر مبنی سرگرمی کو روکنے کے لیے کرپٹو اکنامک ترغیبات پر انحصار کرتا ہے، جو ویلیڈیم میں آف لائن ڈیٹا کو محفوظ بنانے کے لیے قابل اعتماد پارٹیوں کو مقرر کرنے سے کہیں زیادہ محفوظ ہے۔ + +[ویلیڈیمز میں بانڈڈ ڈیٹا کی دستیابی پر مزید](https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf)۔ + +## وولیشنز اور ویلیڈیم {#volitions-and-validium} + +ویلیڈیمز بہت سے فوائد پیش کرتے ہیں لیکن کچھ سمجھوتوں کے ساتھ آتے ہیں (سب سے خاص طور پر، ڈیٹا کی دستیابی)۔ لیکن، بہت سے اسکیلنگ سلوشنز کی طرح، ویلیڈیمز مخصوص استعمال کے معاملات کے لیے موزوں ہیں—یہی وجہ ہے کہ وولیشنز بنائے گئے تھے۔ + +وولیشنز ایک ZK-رول اپ اور ویلیڈیم چین کو یکجا کرتے ہیں اور صارفین کو دو اسکیلنگ سلوشنز کے درمیان سوئچ کرنے کی اجازت دیتے ہیں۔ وولیشنز کے ساتھ، صارفین کچھ ٹرانزیکشنز کے لیے ویلیڈیم کی آف چین ڈیٹا کی دستیابی سے فائدہ اٹھا سکتے ہیں، جبکہ ضرورت پڑنے پر آن چین ڈیٹا دستیابی سلوشن (ZK-رول اپ) پر سوئچ کرنے کی آزادی برقرار رکھتے ہیں۔ یہ بنیادی طور پر صارفین کو ان کے منفرد حالات کے مطابق سمجھوتوں کا انتخاب کرنے کی آزادی دیتا ہے۔ + +ایک غیر مرکزی ایکسچینج (DEX) اعلیٰ قدر کی ٹریڈز کے لیے ویلیڈیم کے اسکیل ایبل اور نجی انفراسٹرکچر کا استعمال کرنے کو ترجیح دے سکتا ہے۔ یہ ان صارفین کے لیے ZK-رول اپ کا بھی استعمال کر سکتا ہے جو ZK-رول اپ کی اعلیٰ سیکیورٹی گارنٹی اور ٹرسلیس نیس چاہتے ہیں۔ + +## ویلیڈیمز اور EVM کمپیٹیبلٹی {#validiums-and-evm-compatibility} + +ZK-رول اپس کی طرح، ویلیڈیمز زیادہ تر سادہ ایپلیکیشنز کے لیے موزوں ہیں، جیسے ٹوکن سویپس اور ادائیگی۔ ویلیڈیمز کے درمیان عمومی کمپیوٹیشن اور اسمارٹ کنٹریکٹ ایگزیکیوشن کو سپورٹ کرنا نافذ کرنا مشکل ہے، کیونکہ زیرو نالج پروف سرکٹ میں [EVM](/developers/docs/evm/) ہدایات کو ثابت کرنے کا کافی اوور ہیڈ ہوتا ہے۔ + +کچھ ویلیڈیم پروجیکٹس EVM-کمپیٹیبل زبانوں (مثلاً، Solidity، Vyper) کو کمپائل کرکے اس مسئلے سے بچنے کی کوشش کرتے ہیں تاکہ موثر پروونگ کے لیے آپٹمائزڈ کسٹم بائٹ کوڈ بنایا جا سکے۔ اس نقطہ نظر کا ایک نقصان یہ ہے کہ نئے زیرو نالج پروف-فرینڈلی VMs اہم EVM اوپ کوڈز کو سپورٹ نہیں کرسکتے ہیں، اور ڈیولپرز کو ایک بہترین تجربے کے لیے براہ راست اعلیٰ سطحی زبان میں لکھنا پڑتا ہے۔ یہ مزید مسائل پیدا کرتا ہے: یہ ڈیولپرز کو مکمل طور پر نئے ڈیولپمنٹ اسٹیک کے ساتھ dapps بنانے پر مجبور کرتا ہے اور موجودہ ایتھریم انفراسٹرکچر کے ساتھ کمپیٹیبلٹی کو توڑتا ہے۔ + +تاہم، کچھ ٹیمیں موجودہ EVM اوپ کوڈز کو ZK-پروونگ سرکٹس کے لیے آپٹمائز کرنے کی کوشش کر رہی ہیں۔ اس کے نتیجے میں ایک زیرو نالج ایتھریم ورچوئل مشین (zkEVM) کی ترقی ہوگی، جو ایک EVM-کمپیٹیبل VM ہے جو پروگرام ایگزیکیوشن کی درستگی کی تصدیق کے لیے پروفس تیار کرتا ہے۔ ایک zkEVM کے ساتھ، ویلیڈیم چینز آف چین اسمارٹ کنٹریکٹس کو انجام دے سکتی ہیں اور ایتھریم پر آف چین کمپیوٹیشن کی تصدیق کے لیے توثیقی ثبوت جمع کرا سکتی ہیں (بغیر اسے دوبارہ انجام دینے کے)۔ + +[zkEVMs پر مزید](https://www.alchemy.com/overviews/zkevm)۔ + +## ویلیڈیمز ایتھریم کو کیسے اسکیل کرتے ہیں؟ {#scaling-ethereum-with-validiums} + +### 1۔ آف چین ڈیٹا اسٹوریج {#offchain-data-storage} + +لئیر 2 اسکیلنگ پروجیکٹس، جیسے آپٹیمسٹک رول اپس اور ZK-رول اپس، L1 پر کچھ ٹرانزیکشن ڈیٹا شائع کرکے سیکیورٹی کے لیے خالص آف چین اسکیلنگ پروٹوکولز (مثلاً، [پلازما](/developers/docs/scaling/plasma/)) کی لامحدود اسکیل ایبلیٹی کی ٹریڈ کرتے ہیں۔ لیکن اس کا مطلب ہے کہ رول اپس کی اسکیل ایبلیٹی خصوصیات ایتھریم مین نیٹ پر ڈیٹا بینڈوتھ سے محدود ہیں ([ڈیٹا شارڈنگ](/roadmap/danksharding/) اسی وجہ سے ایتھریم کی ڈیٹا اسٹوریج کی صلاحیت کو بہتر بنانے کی تجویز کرتا ہے)۔ + +ویلیڈیمز تمام ٹرانزیکشن ڈیٹا کو آف چین رکھ کر اور مرکزی ایتھریم چین پر اسٹیٹ اپ ڈیٹس کو ریلے کرتے وقت صرف اسٹیٹ کمٹمنٹس (اور توثیقی ثبوت) پوسٹ کرکے اسکیل ایبلیٹی حاصل کرتے ہیں۔ تاہم، توثیقی ثبوتوں کا وجود ویلیڈیمز کو دیگر خالص آف چین اسکیلنگ سلوشنز، بشمول پلازما اور [سائیڈ چینز](/developers/docs/scaling/sidechains/) سے زیادہ سیکیورٹی گارنٹی دیتا ہے۔ ایتھریم کو آف چین ٹرانزیکشنز کی توثیق کرنے سے پہلے پروسیس کرنے والے ڈیٹا کی مقدار کو کم کرکے، ویلیڈیم ڈیزائنز مین نیٹ پر تھرو پٹ کو بہت زیادہ بڑھاتے ہیں۔ + +### 2۔ ریکرسیو پروفس {#recursive-proofs} + +ایک ریکرسیو پروف ایک توثیقی ثبوت ہے جو دوسرے ثبوتوں کی توثیق کرتا ہے۔ یہ "پروف آف پروفس" متعدد ثبوتوں کو ریکرسیو طور پر جمع کرکے تیار کیے جاتے ہیں جب تک کہ ایک حتمی ثبوت جو تمام پچھلے ثبوتوں کی تصدیق کرتا ہے، بن نہ جائے۔ ریکرسیو پروفس فی توثیقی ثبوت کی تصدیق کیے جانے والے ٹرانزیکشنز کی تعداد میں اضافہ کرکے بلاک چین پروسیسنگ کی رفتار کو اسکیل کرتے ہیں۔ + +عام طور پر، ہر توثیقی ثبوت جو ویلیڈیم آپریٹر ایتھریم کو تصدیق کے لیے جمع کرتا ہے، ایک ہی بلاک کی سالمیت کی توثیق کرتا ہے۔ جبکہ ایک ہی ریکرسیو پروف کا استعمال ایک ہی وقت میں کئی ویلیڈیم بلاکس کی توثیق کی تصدیق کے لیے کیا جا سکتا ہے—یہ ممکن ہے کیونکہ پروونگ سرکٹ کئی بلاک پروفس کو ریکرسیو طور پر ایک حتمی پروف میں جمع کر سکتا ہے۔ اگر آن چین تصدیق کنندہ کنٹریکٹ ریکرسیو پروف کو قبول کرتا ہے، تو تمام بنیادی بلاکس فوری طور پر حتمی ہو جاتے ہیں۔ + +## ویلیڈیم کے فوائد اور نقصانات {#pros-and-cons-of-validium} + +| فوائد | نقصانات | +| --------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| توثیقی ثبوت آف چین ٹرانزیکشنز کی سالمیت کو نافذ کرتے ہیں اور آپریٹرز کو غلط اسٹیٹ اپ ڈیٹس کو حتمی شکل دینے سے روکتے ہیں۔ | توثیقی ثبوت تیار کرنے کے لیے خصوصی ہارڈویئر کی ضرورت ہوتی ہے، جو مرکزیت کا خطرہ پیدا کرتا ہے۔ | +| صارفین کے لیے سرمائے کی کارکردگی کو بڑھاتا ہے (ایتھریم میں فنڈز واپس نکالنے میں کوئی تاخیر نہیں) | عمومی کمپیوٹیشن/اسمارٹ کنٹریکٹس کے لیے محدود سپورٹ؛ ڈیولپمنٹ کے لیے خصوصی زبانوں کی ضرورت ہے۔ | +| اعلیٰ قدر والی ایپلیکیشنز میں فراڈ-پروف پر مبنی سسٹمز کو درپیش بعض اقتصادی حملوں کے لیے غیر محفوظ نہیں۔ | ZK پروفس بنانے کے لیے اعلیٰ کمپیوٹیشنل پاور کی ضرورت؛ کم تھرو پٹ والی ایپلیکیشنز کے لیے لاگت-مؤثر نہیں۔ | +| ایتھریم مین نیٹ پر calldata پوسٹ نہ کرکے صارفین کے لیے گیس کی فیس کو کم کرتا ہے۔ | سست موضوعی فائنلٹی وقت (ایک ZK پروف بنانے میں 10-30 منٹ) لیکن مکمل فائنلٹی تک تیز کیونکہ کوئی تنازعہ وقت کی تاخیر نہیں ہے۔ | +| مخصوص استعمال کے معاملات کے لیے موزوں، جیسے ٹریڈنگ یا بلاک چین گیمنگ جو ٹرانزیکشن کی رازداری اور اسکیل ایبلیٹی کو ترجیح دیتے ہیں۔ | صارفین کو فنڈز نکالنے سے روکا جا سکتا ہے کیونکہ ملکیت کے مرکل پروفس بنانے کے لیے آف چین ڈیٹا کا ہر وقت دستیاب ہونا ضروری ہے۔ | +| آف چین ڈیٹا کی دستیابی اعلیٰ سطح کا تھرو پٹ فراہم کرتی ہے اور اسکیل ایبلیٹی کو بڑھاتی ہے۔ | سیکیورٹی ماڈل اعتماد کے مفروضوں اور کرپٹو اکنامک ترغیبات پر انحصار کرتا ہے، ZK-رول اپس کے برعکس، جو خالصتاً کرپٹو گرافک سیکیورٹی میکانزم پر انحصار کرتے ہیں۔ | + +### ویلیڈیم/وولیشنز کا استعمال کریں {#use-validium-and-volitions} + +متعدد پروجیکٹس ویلیڈیم اور وولیشنز کے نفاذ فراہم کرتے ہیں جنہیں آپ اپنے dapps میں ضم کر سکتے ہیں: + +**StarkWare StarkEx** - _StarkEx ایک ایتھریم لئیر 2 (L2) اسکیل ایبلیٹی سلوشن ہے جو توثیقی ثبوتوں پر مبنی ہے۔ یہ ZK-رول اپ یا ویلیڈیم ڈیٹا-دستیابی موڈز میں کام کر سکتا ہے۔_ + +- [ڈاکومنٹیشن](https://docs.starkware.co/starkex-v4/starkex-deep-dive/data-availability-modes#validium) +- [ویب سائٹ](https://starkware.co/starkex/) + +**Matter Labs zkPorter**- _zkPorter ایک لئیر 2 اسکیلنگ پروٹوکول ہے جو zkRollup اور شارڈنگ کے آئیڈیاز کو ملا کر ایک ہائبرڈ اپروچ کے ساتھ ڈیٹا دستیابی سے نمٹتا ہے۔ یہ من مانی طور پر بہت سے شارڈز کو سپورٹ کر سکتا ہے، ہر ایک اپنی ڈیٹا دستیابی کی پالیسی کے ساتھ۔_ + +- [بلاگ](https://blog.matter-labs.io/zkporter-a-breakthrough-in-l2-scaling-ed5e48842fbf) +- [ڈاکومنٹیشن](https://docs.zksync.io/zksync-protocol/rollup/data-availability) +- [ویب سائٹ](https://zksync.io/) + +## مزید پڑھیں {#further-reading} + +- [ویلیڈیم اور لئیر 2 ٹو-بائی-ٹو — شمارہ نمبر 99](https://www.buildblockchain.tech/newsletter/issues/no-99-validium-and-the-layer-2-two-by-two) +- [ZK-رول اپس بمقابلہ ویلیڈیم](https://blog.matter-labs.io/zkrollup-vs-validium-starkex-5614e38bc263) +- [وولیشن اور ابھرتا ہوا ڈیٹا دستیابی اسپیکٹرم](https://medium.com/starkware/volition-and-the-emerging-data-availability-spectrum-87e8bfa09bb) +- [رول اپس، ویلیڈیمز، اور وولیشنز: گرم ترین ایتھریم اسکیلنگ سلوشنز کے بارے میں جانیں](https://www.defipulse.com/blog/rollups-validiums-and-volitions-learn-about-the-hottest-ethereum-scaling-solutions) +- [Ethereum رول اپس کے لیے عملی گائیڈ](https://web.archive.org/web/20241108192208/https://research.2077.xyz/the-practical-guide-to-ethereum-rollups) diff --git a/public/content/translations/ur/developers/docs/scaling/zk-rollups/index.md b/public/content/translations/ur/developers/docs/scaling/zk-rollups/index.md new file mode 100644 index 00000000000..bcfdb4d9a4d --- /dev/null +++ b/public/content/translations/ur/developers/docs/scaling/zk-rollups/index.md @@ -0,0 +1,257 @@ +--- +title: "زیرو-نالج رول اپس" +description: "زیرو-نالج رول اپس کا تعارف — ایک اسکیلنگ حل جسے ایتھیریم کمیونٹی استعمال کرتی ہے۔" +lang: ur-in +--- + +زیرو-نالج رول اپس (ZK-rollups) لیئر 2 [اسکیلنگ حل](/developers/docs/scaling/) ہیں جو کمپیوٹیشن اور اسٹیٹ-اسٹوریج کو آف چین منتقل کرکے Ethereum Mainnet پر تھرو پُٹ میں اضافہ کرتے ہیں۔ ZK-rollups ایک بیچ میں ہزاروں ٹرانزیکشنز پر کارروائی کر سکتے ہیں اور پھر Mainnet پر صرف کچھ کم سے کم سمری ڈیٹا پوسٹ کرتے ہیں۔ یہ سمری ڈیٹا ان تبدیلیوں کی وضاحت کرتا ہے جو ایتھیریم اسٹیٹ میں کی جانی چاہئیں اور اس بات کا کرپٹوگرافک ثبوت فراہم کرتا ہے کہ وہ تبدیلیاں درست ہیں۔ + +## شرائط {#prerequisites} + +آپ کو [ایتھریم اسکیلنگ](/developers/docs/scaling/) اور [لئیر 2](/layer-2) پر ہمارا صفحہ پڑھا اور سمجھا ہوا ہونا چاہیے۔ + +## زیرو-نالج رول اپس کیا ہیں؟ {#what-are-zk-rollups} + +**زیرو-نالج رول اپس (ZK-rollups)** ٹرانزیکشنز کو بیچوں میں بنڈل (یا 'رول اپ') کرتے ہیں جنہیں آف چین عمل میں لایا جاتا ہے۔ آف چین کمپیوٹیشن ڈیٹا کی اس مقدار کو کم کرتا ہے جسے بلاک چین پر پوسٹ کرنا پڑتا ہے۔ ZK-rollup آپریٹرز ہر ٹرانزیکشن کو انفرادی طور پر بھیجنے کے بجائے، ایک بیچ میں تمام ٹرانزیکشنز کی نمائندگی کے لیے درکار تبدیلیوں کا خلاصہ جمع کراتے ہیں۔ وہ اپنی تبدیلیوں کی درستگی کو ثابت کرنے کے لیے [ویلیڈیٹی پروف](/glossary/#validity-proof) بھی تیار کرتے ہیں۔ + +ZK-rollup کا اسٹیٹ Ethereum نیٹ ورک پر ڈیپلائے کیے گئے ایک اسمارٹ کنٹریکٹ کے ذریعے برقرار رکھا جاتا ہے۔ اس اسٹیٹ کو اپ ڈیٹ کرنے کے لیے، ZK-rollup نوڈز کو تصدیق کے لیے ایک ویلیڈیٹی پروف جمع کرانا ہوگا۔ جیسا کہ ذکر کیا گیا ہے، ویلیڈیٹی پروف ایک کرپٹوگرافک یقین دہانی ہے کہ رول اپ کی طرف سے تجویز کردہ اسٹیٹ-چینج واقعی دیے گئے ٹرانزیکشنز کے بیچ کو انجام دینے کا نتیجہ ہے۔ اس کا مطلب ہے کہ ZK-rollups کو Ethereum پر ٹرانزیکشنز کو حتمی شکل دینے کے لیے صرف ویلیڈیٹی پروف فراہم کرنے کی ضرورت ہوتی ہے، بجائے اس کے کہ [آپٹیمسٹک رول اپس](/developers/docs/scaling/optimistic-rollups/) کی طرح تمام ٹرانزیکشن ڈیٹا کو آن چین پوسٹ کیا جائے۔ + +ZK-rollup سے Ethereum میں فنڈز منتقل کرتے وقت کوئی تاخیر نہیں ہوتی ہے کیونکہ ایگزٹ ٹرانزیکشنز پر عمل درآمد اس وقت ہو جاتا ہے جب ZK-rollup کنٹریکٹ ویلیڈیٹی پروف کی تصدیق کر لیتا ہے۔ اس کے برعکس، آپٹیمسٹک رول اپس سے فنڈز نکالنے میں تاخیر ہوتی ہے تاکہ کوئی بھی [فراڈ پروف](/glossary/#fraud-proof) کے ساتھ ایگزٹ ٹرانزیکشن کو چیلنج کر سکے۔ + +ZK-rollups ٹرانزیکشنز کو Ethereum پر `calldata` کے طور پر لکھتے ہیں۔ `calldata` وہ جگہ ہے جہاں وہ ڈیٹا اسٹور کیا جاتا ہے جو اسمارٹ کنٹریکٹ فنکشنز کی بیرونی کالز میں شامل ہوتا ہے۔ `calldata` میں موجود معلومات بلاک چین پر شائع کی جاتی ہیں، جس سے کوئی بھی آزادانہ طور پر رول اپ کے اسٹیٹ کو دوبارہ تشکیل دے سکتا ہے۔ ZK-rollups ٹرانزیکشن ڈیٹا کو کم کرنے کے لیے کمپریشن تکنیک کا استعمال کرتے ہیں—مثال کے طور پر، اکاؤنٹس کو ایڈریس کے بجائے ایک انڈیکس کے ذریعے دکھایا جاتا ہے، جس سے 28 بائٹس ڈیٹا کی بچت ہوتی ہے۔ آن چین ڈیٹا کی اشاعت رول اپس کے لیے ایک اہم لاگت ہے، اس لیے ڈیٹا کمپریشن صارفین کے لیے فیس کو کم کر سکتا ہے۔ + +## ZK-rollups ایتھیریم کے ساتھ کیسے تعامل کرتے ہیں؟ {#zk-rollups-and-ethereum} + +ایک ZK-rollup چین ایک آف چین پروٹوکول ہے جو Ethereum بلاک چین کے اوپر کام کرتا ہے اور اسے آن چین Ethereum اسمارٹ کنٹریکٹس کے ذریعے منظم کیا جاتا ہے۔ ZK-rollups ٹرانزیکشنز کو Mainnet سے باہر انجام دیتے ہیں، لیکن وقتاً فوقتاً آف چین ٹرانزیکشن بیچوں کو ایک آن چین رول اپ کنٹریکٹ میں کمٹ کرتے ہیں۔ یہ ٹرانزیکشن ریکارڈ ناقابل تغیر ہے، بالکل Ethereum بلاک چین کی طرح، اور ZK-rollup چین بناتا ہے۔ + +ZK-rollup کے بنیادی فن تعمیر میں درج ذیل اجزاء شامل ہیں: + +1. **آن چین کنٹریکٹس**: جیسا کہ ذکر کیا گیا ہے، ZK-rollup پروٹوکول کو Ethereum پر چلنے والے اسمارٹ کنٹریکٹس کے ذریعے کنٹرول کیا جاتا ہے۔ اس میں مین کنٹریکٹ شامل ہے جو رول اپ بلاکس کو اسٹور کرتا ہے، ڈپازٹس کو ٹریک کرتا ہے، اور اسٹیٹ اپ ڈیٹس کی نگرانی کرتا ہے۔ ایک اور آن چین کنٹریکٹ (ویریفائر کنٹریکٹ) بلاک پروڈیوسرز کے ذریعے جمع کرائے گئے زیرو-نالج پروف کی تصدیق کرتا ہے۔ اس طرح، Ethereum ZK-rollup کے لیے بیس لیئر یا "لیئر 1" کے طور پر کام کرتا ہے۔ + +2. **آف چین ورچوئل مشین (VM)**: جب کہ ZK-rollup پروٹوکول Ethereum پر رہتا ہے، ٹرانزیکشن پر عمل درآمد اور اسٹیٹ اسٹوریج [EVM](/developers/docs/evm/) سے آزاد ایک علیحدہ ورچوئل مشین پر ہوتا ہے۔ یہ آف چین VM ZK-rollup پر ٹرانزیکشنز کے لیے ایگزیکیوشن ماحول ہے اور ZK-rollup پروٹوکول کے لیے ثانوی پرت یا "لیئر 2" کے طور پر کام کرتا ہے۔ Ethereum Mainnet پر تصدیق شدہ ویلیڈیٹی پروف آف چین VM میں اسٹیٹ ٹرانزیشن کی درستگی کی ضمانت دیتے ہیں۔ + +ZK-rollups "ہائبرڈ اسکیلنگ حل" ہیں—آف چین پروٹوکول جو آزادانہ طور پر کام کرتے ہیں لیکن Ethereum سے سیکیورٹی حاصل کرتے ہیں۔ خاص طور پر، Ethereum نیٹ ورک ZK-rollup پر اسٹیٹ اپ ڈیٹس کی درستگی کو نافذ کرتا ہے اور رول اپ کے اسٹیٹ میں ہر اپ ڈیٹ کے پیچھے ڈیٹا کی دستیابی کی ضمانت دیتا ہے۔ نتیجے کے طور پر، ZK-rollups خالص آف چین اسکیلنگ حلوں سے کافی زیادہ محفوظ ہیں، جیسے کہ [سائیڈ چینز](/developers/docs/scaling/sidechains/)، جو اپنی سیکیورٹی خصوصیات کے لیے خود ذمہ دار ہیں، یا [ویلیڈیمز](/developers/docs/scaling/validium/)، جو ویلیڈیٹی پروف کے ساتھ Ethereum پر ٹرانزیکشنز کی تصدیق بھی کرتے ہیں، لیکن ٹرانزیکشن ڈیٹا کہیں اور اسٹور کرتے ہیں۔ + +ZK-rollups درج ذیل کے لیے مرکزی Ethereum پروٹوکول پر انحصار کرتے ہیں: + +### ڈیٹا کی دستیابی {#data-availability} + +ZK-rollups آف چین پر کارروائی کیے گئے ہر ٹرانزیکشن کے لیے اسٹیٹ ڈیٹا کو Ethereum پر شائع کرتے ہیں۔ اس ڈیٹا کے ساتھ، افراد یا کاروبار کے لیے رول اپ کے اسٹیٹ کو دوبارہ پیش کرنا اور خود چین کی توثیق کرنا ممکن ہے۔ Ethereum اس ڈیٹا کو نیٹ ورک کے تمام شرکاء کے لیے `calldata` کے طور پر دستیاب کرتا ہے۔ + +ZK-rollups کو آن چین زیادہ ٹرانزیکشن ڈیٹا شائع کرنے کی ضرورت نہیں ہے کیونکہ ویلیڈیٹی پروف پہلے ہی اسٹیٹ ٹرانزیشن کی صداقت کی تصدیق کر چکے ہیں۔ اس کے باوجود، آن چین ڈیٹا اسٹور کرنا اب بھی اہم ہے کیونکہ یہ L2 چین کے اسٹیٹ کی اجازت کے بغیر، آزادانہ تصدیق کی اجازت دیتا ہے جس کے نتیجے میں کسی کو بھی ٹرانزیکشنز کے بیچ جمع کرانے کی اجازت ملتی ہے، جس سے بدنیتی پر مبنی آپریٹرز کو چین کو سنسر کرنے یا منجمد کرنے سے روکا جاتا ہے۔ + +صارفین کو رول اپ کے ساتھ تعامل کرنے کے لیے آن چین کی ضرورت ہے۔ اسٹیٹ ڈیٹا تک رسائی کے بغیر صارفین اپنے اکاؤنٹ کا بیلنس دریافت نہیں کر سکتے یا ایسی ٹرانزیکشنز (جیسے، نکاسی) شروع نہیں کر سکتے جو اسٹیٹ کی معلومات پر انحصار کرتی ہیں۔ + +### ٹرانزیکشن کی حتمیت {#transaction-finality} + +Ethereum ZK-rollups کے لیے ایک سیٹلمنٹ لیئر کے طور پر کام کرتا ہے: L2 ٹرانزیکشنز صرف اس صورت میں حتمی شکل دی جاتی ہیں جب L1 کنٹریکٹ ویلیڈیٹی پروف کو قبول کرتا ہے۔ اس سے بدنیتی پر مبنی آپریٹرز کے چین کو خراب کرنے (جیسے، رول اپ فنڈز چوری کرنا) کے خطرے کو ختم کرتا ہے کیونکہ ہر ٹرانزیکشن کو Mainnet پر منظور ہونا ضروری ہے۔ اس کے علاوہ، Ethereum اس بات کی ضمانت دیتا ہے کہ L1 پر حتمی شکل دینے کے بعد صارف کے آپریشنز کو واپس نہیں کیا جا سکتا۔ + +### سنسرشپ مزاحمت {#censorship-resistance} + +زیادہ تر ZK-rollups ٹرانزیکشنز پر عمل درآمد کرنے، بیچ تیار کرنے اور L1 میں بلاکس جمع کرانے کے لیے ایک "سپر نوڈ" (آپریٹر) کا استعمال کرتے ہیں۔ اگرچہ یہ کارکردگی کو یقینی بناتا ہے، لیکن یہ سنسرشپ کے خطرے کو بڑھاتا ہے: بدنیتی پر مبنی ZK-rollup آپریٹرز صارفین کو ان کے ٹرانزیکشنز کو بیچوں میں شامل کرنے سے انکار کرکے سنسر کر سکتے ہیں۔ + +ایک حفاظتی اقدام کے طور پر، ZK-rollups صارفین کو براہ راست Mainnet پر رول اپ کنٹریکٹ میں ٹرانزیکشنز جمع کرانے کی اجازت دیتے ہیں اگر وہ سوچتے ہیں کہ آپریٹر ان کو سنسر کر رہا ہے۔ اس سے صارفین آپریٹر کی اجازت پر انحصار کیے بغیر ZK-rollup سے Ethereum تک جبری اخراج کر سکتے ہیں۔ + +## ZK-rollups کیسے کام کرتے ہیں؟ {#how-do-zk-rollups-work} + +### ٹرانزیکشنز {#transactions} + +ZK-rollup میں صارفین ٹرانزیکشنز پر دستخط کرتے ہیں اور پروسیسنگ اور اگلے بیچ میں شامل کرنے کے لیے L2 آپریٹرز کو جمع کراتے ہیں۔ کچھ معاملات میں، آپریٹر ایک مرکزی ادارہ ہے، جسے سیکوینسر کہا جاتا ہے، جو ٹرانزیکشنز کو انجام دیتا ہے، انہیں بیچوں میں جمع کرتا ہے، اور L1 کو جمع کراتا ہے۔ اس سسٹم میں سیکوینسر واحد ادارہ ہے جسے L2 بلاکس تیار کرنے اور ZK-rollup کنٹریکٹ میں رول اپ ٹرانزیکشنز شامل کرنے کی اجازت ہے۔ + +دیگر ZK-rollups [پروف-آف-اسٹیک](/developers/docs/consensus-mechanisms/pos/) توثیق کار سیٹ کا استعمال کرکے آپریٹر کے کردار کو گھما سکتے ہیں۔ متوقع آپریٹرز رول اپ کنٹریکٹ میں فنڈز جمع کرتے ہیں، ہر اسٹیک کا سائز اگلے رول اپ بیچ کو تیار کرنے کے لیے منتخب ہونے کے اسٹیکر کے امکانات کو متاثر کرتا ہے۔ اگر آپریٹر بدنیتی سے کام کرتا ہے تو اس کے اسٹیک کو سلیش کیا جاسکتا ہے، جو انہیں درست بلاکس پوسٹ کرنے کی ترغیب دیتا ہے۔ + +#### ZK-rollups Ethereum پر ٹرانزیکشن ڈیٹا کیسے شائع کرتے ہیں {#how-zk-rollups-publish-transaction-data-on-ethereum} + +جیسا کہ وضاحت کی گئی ہے، ٹرانزیکشن ڈیٹا کو Ethereum پر `calldata` کے طور پر شائع کیا جاتا ہے۔ `calldata` ایک اسمارٹ کنٹریکٹ میں ایک ڈیٹا ایریا ہے جو کسی فنکشن میں دلائل منتقل کرنے کے لیے استعمال ہوتا ہے اور [میموری](/developers/docs/smart-contracts/anatomy/#memory) کی طرح برتاؤ کرتا ہے۔ اگرچہ `calldata` کو Ethereum کے اسٹیٹ کے حصے کے طور پر اسٹور نہیں کیا جاتا ہے، یہ Ethereum چین کے [ہسٹری لاگز](https://docs.soliditylang.org/en/latest/introduction-to-smart-contracts.html?highlight=memory#logs) کے حصے کے طور پر آن چین برقرار رہتا ہے۔ `calldata` Ethereum کے اسٹیٹ کو متاثر نہیں کرتا ہے، جو اسے آن چین ڈیٹا اسٹور کرنے کا ایک سستا طریقہ بناتا ہے۔ + +`calldata` کلیدی لفظ اکثر اسمارٹ کنٹریکٹ کے طریقہ کار کی نشاندہی کرتا ہے جسے کسی ٹرانزیکشن کے ذریعے بلایا جا رہا ہے اور اس طریقہ کار کے ان پٹس کو بائٹس کی ایک صوابدیدی ترتیب کی شکل میں رکھتا ہے۔ ZK-rollups کمپریسڈ ٹرانزیکشن ڈیٹا کو آن چین شائع کرنے کے لیے `calldata` کا استعمال کرتے ہیں؛ رول اپ آپریٹر صرف رول اپ کنٹریکٹ میں مطلوبہ فنکشن کو کال کرکے ایک نیا بیچ شامل کرتا ہے اور کمپریسڈ ڈیٹا کو فنکشن آرگیومنٹس کے طور پر پاس کرتا ہے۔ اس سے صارفین کے لیے لاگت کو کم کرنے میں مدد ملتی ہے کیونکہ رول اپ فیس کا ایک بڑا حصہ آن چین ٹرانزیکشن ڈیٹا کو اسٹور کرنے پر جاتا ہے۔ + +### اسٹیٹ کمٹمنٹس {#state-commitments} + +ZK-rollup کا اسٹیٹ، جس میں L2 اکاؤنٹس اور بیلنس شامل ہیں، کو ایک [مرکل ٹری](/whitepaper/#merkle-trees) کے طور پر دکھایا جاتا ہے۔ مرکل ٹری کے روٹ (مرکل روٹ) کا ایک کرپٹوگرافک ہیش آن چین کنٹریکٹ میں اسٹور کیا جاتا ہے، جس سے رول اپ پروٹوکول کو ZK-rollup کے اسٹیٹ میں تبدیلیوں کو ٹریک کرنے کی اجازت ملتی ہے۔ + +رول اپ ٹرانزیکشنز کے ایک نئے سیٹ کے عمل درآمد کے بعد ایک نئے اسٹیٹ میں منتقل ہوجاتا ہے۔ اسٹیٹ کی منتقلی شروع کرنے والے آپریٹر کو ایک نیا اسٹیٹ روٹ کا حساب لگانے اور آن چین کنٹریکٹ میں جمع کرانے کی ضرورت ہوتی ہے۔ اگر بیچ سے وابستہ ویلیڈیٹی پروف کی تصدیق ویریفائر کنٹریکٹ کے ذریعے کی جاتی ہے، تو نیا مرکل روٹ ZK-rollup کا کینونیکل اسٹیٹ روٹ بن جاتا ہے۔ + +اسٹیٹ روٹس کا حساب لگانے کے علاوہ، ZK-rollup آپریٹر ایک بیچ روٹ بھی بناتا ہے — ایک مرکل ٹری کا روٹ جس میں ایک بیچ کے تمام ٹرانزیکشنز شامل ہوتے ہیں۔ جب کوئی نیا بیچ جمع کیا جاتا ہے، تو رول اپ کنٹریکٹ بیچ روٹ کو اسٹور کرتا ہے، جس سے صارفین کو یہ ثابت کرنے کی اجازت ملتی ہے کہ ایک ٹرانزیکشن (جیسے، واپسی کی درخواست) بیچ میں شامل تھا۔ صارفین کو ٹرانزیکشن کی تفصیلات، بیچ روٹ، اور ایک [مرکل پروف](/developers/tutorials/merkle-proofs-for-offline-data-integrity/) فراہم کرنا ہوگا جو شمولیت کا راستہ دکھاتا ہے۔ + +### ویلیڈیٹی پروف {#validity-proofs} + +نیا اسٹیٹ روٹ جو ZK-rollup آپریٹر L1 کنٹریکٹ میں جمع کرتا ہے، وہ رول اپ کے اسٹیٹ میں اپ ڈیٹس کا نتیجہ ہے۔ فرض کریں ایلس باب کو 10 ٹوکن بھیجتی ہے، آپریٹر صرف ایلس کے بیلنس میں 10 کی کمی کرتا ہے اور باب کے بیلنس میں 10 کا اضافہ کرتا ہے۔ آپریٹر پھر اپ ڈیٹ شدہ اکاؤنٹ ڈیٹا کو ہیش کرتا ہے، رول اپ کے مرکل ٹری کو دوبارہ بناتا ہے، اور نیا مرکل روٹ آن چین کنٹریکٹ میں جمع کرتا ہے۔ + +لیکن رول اپ کنٹریکٹ خود بخود مجوزہ اسٹیٹ کمٹمنٹ کو قبول نہیں کرے گا جب تک کہ آپریٹر یہ ثابت نہ کر دے کہ نیا مرکل روٹ رول اپ کے اسٹیٹ میں درست اپ ڈیٹس کا نتیجہ ہے۔ ZK-rollup آپریٹر ایک ویلیڈیٹی پروف تیار کرکے ایسا کرتا ہے، جو ایک مختصر کرپٹوگرافک کمٹمنٹ ہے جو بیچڈ ٹرانزیکشنز کی درستگی کی تصدیق کرتا ہے۔ + +ویلیڈیٹی پروف فریقین کو بیان کو ظاہر کیے بغیر اس کی درستگی کو ثابت کرنے کی اجازت دیتے ہیں—اس لیے، انہیں زیرو-نالج پروف بھی کہا جاتا ہے۔ ZK-rollups Ethereum پر ٹرانزیکشنز کو دوبارہ انجام دیے بغیر آف چین اسٹیٹ ٹرانزیشن کی درستگی کی تصدیق کے لیے ویلیڈیٹی پروف کا استعمال کرتے ہیں۔ یہ ثبوت [ZK-SNARK](https://arxiv.org/abs/2202.06877) (زیرو-نالج سکسینکٹ نان-انٹرایکٹو آرگیومنٹ آف نالج) یا [ZK-STARK](https://eprint.iacr.org/2018/046) (زیرو-نالج اسکیل ایبل ٹرانسپیرنٹ آرگیومنٹ آف نالج) کی شکل میں آسکتے ہیں۔ + +SNARKs اور STARKs دونوں ZK-rollups میں آف چین کمپیوٹیشن کی سالمیت کی تصدیق میں مدد کرتے ہیں، حالانکہ ہر پروف کی قسم کی اپنی الگ خصوصیات ہیں۔ + +**ZK-SNARKs** + +ZK-SNARK پروٹوکول کے کام کرنے کے لیے، ایک کامن ریفرنس اسٹرنگ (CRS) بنانا ضروری ہے: CRS ویلیڈیٹی پروف کو ثابت کرنے اور تصدیق کرنے کے لیے عوامی پیرامیٹرز فراہم کرتا ہے۔ پروفنگ سسٹم کی سیکیورٹی CRS سیٹ اپ پر منحصر ہے؛ اگر عوامی پیرامیٹرز بنانے کے لیے استعمال ہونے والی معلومات بدنیتی پر مبنی اداکاروں کے قبضے میں آجاتی ہیں تو وہ غلط ویلیڈیٹی پروف تیار کرنے کے قابل ہو سکتے ہیں۔ + +کچھ ZK-rollups اس مسئلے کو حل کرنے کی کوشش کرتے ہیں جس میں [ملٹی پارٹی کمپیوٹیشن سیریمونی (MPC)](https://zkproof.org/2021/06/30/setup-ceremonies/amp/) کا استعمال کیا جاتا ہے، جس میں قابل اعتماد افراد شامل ہوتے ہیں، تاکہ ZK-SNARK سرکٹ کے لیے عوامی پیرامیٹرز تیار کیے جاسکیں۔ ہر پارٹی CRS کی تعمیر میں کچھ بے ترتیبی (جسے "زہریلا فضلہ" کہا جاتا ہے) کا حصہ ڈالتی ہے، جسے انہیں فوری طور پر تباہ کرنا ہوگا۔ + +قابل اعتماد سیٹ اپ استعمال کیے جاتے ہیں کیونکہ وہ CRS سیٹ اپ کی سیکیورٹی کو بڑھاتے ہیں۔ جب تک ایک ایماندار شریک اپنے ان پٹ کو تباہ کرتا ہے، ZK-SNARK سسٹم کی سیکیورٹی کی ضمانت دی جاتی ہے۔ پھر بھی، اس نقطہ نظر میں شامل افراد پر بھروسہ کرنے کی ضرورت ہے کہ وہ اپنی نمونہ کردہ بے ترتیبی کو حذف کریں اور سسٹم کی سیکیورٹی کی ضمانتوں کو کمزور نہ کریں۔ + +اعتماد کے مفروضوں کے علاوہ، ZK-SNARKs اپنے چھوٹے پروف سائز اور مستقل وقت کی تصدیق کے لیے مقبول ہیں۔ چونکہ L1 پر پروف کی تصدیق ZK-rollup کو چلانے کی بڑی لاگت پر مشتمل ہے، L2s ZK-SNARKs کا استعمال ایسے پروف تیار کرنے کے لیے کرتے ہیں جن کی Mainnet پر جلدی اور سستے طریقے سے تصدیق کی جا سکے۔ + +**ZK-STARKs** + +ZK-SNARKs کی طرح، ZK-STARKs ان پٹ کو ظاہر کیے بغیر آف چین کمپیوٹیشن کی درستگی کو ثابت کرتے ہیں۔ تاہم، ZK-STARKs کو ان کی اسکیل ایبلٹی اور شفافیت کی وجہ سے ZK-SNARKs پر ایک بہتری سمجھا جاتا ہے۔ + +ZK-STARKs 'شفاف' ہیں، کیونکہ وہ کامن ریفرنس اسٹرنگ (CRS) کے قابل اعتماد سیٹ اپ کے بغیر کام کر سکتے ہیں۔ اس کے بجائے، ZK-STARKs پروف تیار کرنے اور تصدیق کرنے کے لیے پیرامیٹرز سیٹ کرنے کے لیے عوامی طور پر قابل تصدیق بے ترتیبی پر انحصار کرتے ہیں۔ + +ZK-STARKs زیادہ اسکیل ایبلٹی بھی فراہم کرتے ہیں کیونکہ ویلیڈیٹی پروف کو ثابت کرنے اور تصدیق کرنے کے لیے درکار وقت بنیادی کمپیوٹیشن کی پیچیدگی کے سلسلے میں _کواسی لینیئرلی_ طور پر بڑھتا ہے۔ ZK-SNARKs کے ساتھ، ثابت کرنے اور تصدیق کرنے کا وقت بنیادی کمپیوٹیشن کے سائز کے سلسلے میں _لینیئرلی_ طور پر اسکیل ہوتا ہے۔ اس کا مطلب ہے کہ ZK-STARKs کو ZK-SNARKs کے مقابلے میں ثابت کرنے اور تصدیق کرنے میں کم وقت درکار ہوتا ہے جب بڑے ڈیٹاسیٹ شامل ہوتے ہیں، جو انہیں زیادہ حجم والی ایپلی کیشنز کے لیے مفید بناتا ہے۔ + +ZK-STARKs کوانٹم کمپیوٹرز کے خلاف بھی محفوظ ہیں، جبکہ ZK-SNARKs میں استعمال ہونے والی ایلیپٹک کرو کرپٹوگرافی (ECC) کے بارے میں وسیع پیمانے پر خیال کیا جاتا ہے کہ وہ کوانٹم کمپیوٹنگ حملوں کے لیے حساس ہے۔ ZK-STARKs کا نقصان یہ ہے کہ وہ بڑے پروف سائز تیار کرتے ہیں، جن کی Ethereum پر تصدیق کرنا زیادہ مہنگا ہوتا ہے۔ + +#### ZK-rollups میں ویلیڈیٹی پروف کیسے کام کرتے ہیں؟ {#validity-proofs-in-zk-rollups} + +##### پروف کی تیاری + +ٹرانزیکشنز قبول کرنے سے پہلے، آپریٹر معمول کی جانچ پڑتال کرے گا۔ اس میں اس بات کی تصدیق شامل ہے کہ: + +- بھیجنے والے اور وصول کنندہ کے اکاؤنٹس اسٹیٹ ٹری کا حصہ ہیں۔ +- بھیجنے والے کے پاس ٹرانزیکشن پر کارروائی کرنے کے لیے کافی فنڈز ہیں۔ +- ٹرانزیکشن درست ہے اور رول اپ پر بھیجنے والے کی پبلک کلید سے میل کھاتا ہے۔ +- بھیجنے والے کا نونس درست ہے، وغیرہ۔ + +ایک بار جب ZK-rollup نوڈ کے پاس کافی ٹرانزیکشنز ہو جاتے ہیں، تو وہ انہیں ایک بیچ میں جمع کرتا ہے اور پروفنگ سرکٹ کے لیے ان پٹس کو مرتب کرتا ہے تاکہ ایک مختصر ZK-پروف میں مرتب کیا جا سکے۔ اس میں شامل ہیں: + +- ایک مرکل ٹری روٹ جس میں بیچ کے تمام ٹرانزیکشنز شامل ہیں۔ +- بیچ میں شمولیت ثابت کرنے کے لیے ٹرانزیکشنز کے لیے مرکل پروف۔ +- ٹرانزیکشنز میں ہر بھیجنے والے-وصول کنندہ جوڑے کے لیے مرکل پروف یہ ثابت کرنے کے لیے کہ وہ اکاؤنٹس رول اپ کے اسٹیٹ ٹری کا حصہ ہیں۔ +- انٹرمیڈیٹ اسٹیٹ روٹس کا ایک سیٹ، جو ہر ٹرانزیکشن کے لیے اسٹیٹ اپ ڈیٹس لاگو کرنے کے بعد اسٹیٹ روٹ کو اپ ڈیٹ کرنے سے حاصل ہوتا ہے (یعنی، بھیجنے والے اکاؤنٹس کو کم کرنا اور وصول کنندہ اکاؤنٹس میں اضافہ کرنا)۔ + +پروفنگ سرکٹ ہر ٹرانزیکشن پر "لوپنگ" کرکے ویلیڈیٹی پروف کا حساب لگاتا ہے اور وہی جانچ پڑتال کرتا ہے جو آپریٹر نے ٹرانزیکشن پر کارروائی کرنے سے پہلے مکمل کی تھی۔ سب سے پہلے، یہ فراہم کردہ مرکل پروف کا استعمال کرتے ہوئے تصدیق کرتا ہے کہ بھیجنے والے کا اکاؤنٹ موجودہ اسٹیٹ روٹ کا حصہ ہے۔ پھر یہ بھیجنے والے کے بیلنس کو کم کرتا ہے، ان کے نونس کو بڑھاتا ہے، اپ ڈیٹ شدہ اکاؤنٹ ڈیٹا کو ہیش کرتا ہے اور اسے مرکل پروف کے ساتھ ملا کر ایک نیا مرکل روٹ تیار کرتا ہے۔ + +یہ مرکل روٹ ZK-rollup کے اسٹیٹ میں واحد تبدیلی کی عکاسی کرتا ہے: بھیجنے والے کے بیلنس اور نونس میں تبدیلی۔ یہ ممکن ہے کیونکہ اکاؤنٹ کے وجود کو ثابت کرنے کے لیے استعمال ہونے والا مرکل پروف نیا اسٹیٹ روٹ حاصل کرنے کے لیے استعمال ہوتا ہے۔ + +پروفنگ سرکٹ وصول کنندہ کے اکاؤنٹ پر بھی یہی عمل انجام دیتا ہے۔ یہ چیک کرتا ہے کہ آیا وصول کنندہ کا اکاؤنٹ انٹرمیڈیٹ اسٹیٹ روٹ کے تحت موجود ہے (مرکل پروف کا استعمال کرتے ہوئے)، ان کے بیلنس کو بڑھاتا ہے، اکاؤنٹ ڈیٹا کو دوبارہ ہیش کرتا ہے اور اسے مرکل پروف کے ساتھ ملا کر ایک نیا اسٹیٹ روٹ تیار کرتا ہے۔ + +یہ عمل ہر ٹرانزیکشن کے لیے دہرایا جاتا ہے؛ ہر "لوپ" بھیجنے والے کے اکاؤنٹ کو اپ ڈیٹ کرنے سے ایک نیا اسٹیٹ روٹ اور وصول کنندہ کے اکاؤنٹ کو اپ ڈیٹ کرنے سے ایک نیا روٹ بناتا ہے۔ جیسا کہ وضاحت کی گئی ہے، اسٹیٹ روٹ میں ہر اپ ڈیٹ رول اپ کے اسٹیٹ ٹری کے ایک حصے کی تبدیلی کی نمائندگی کرتا ہے۔ + +ZK-پروفنگ سرکٹ پورے ٹرانزیکشن بیچ پر اعادہ کرتا ہے، ان اپ ڈیٹس کی ترتیب کی تصدیق کرتا ہے جن کے نتیجے میں آخری ٹرانزیکشن کے عمل میں آنے کے بعد ایک حتمی اسٹیٹ روٹ ہوتا ہے۔ آخری مرکل روٹ جو شمار کیا جاتا ہے وہ ZK-rollup کا جدید ترین کینونیکل اسٹیٹ روٹ بن جاتا ہے۔ + +##### پروف کی تصدیق + +پروفنگ سرکٹ کے اسٹیٹ اپ ڈیٹس کی درستگی کی تصدیق کے بعد، L2 آپریٹر شمار شدہ ویلیڈیٹی پروف کو L1 پر ویریفائر کنٹریکٹ میں جمع کرتا ہے۔ کنٹریکٹ کا تصدیقی سرکٹ پروف کی درستگی کی تصدیق کرتا ہے اور پروف کا حصہ بننے والے عوامی ان پٹس کو بھی چیک کرتا ہے: + +- **پری-اسٹیٹ روٹ**: ZK-rollup کا پرانا اسٹیٹ روٹ (یعنی، بیچڈ ٹرانزیکشنز کے عمل میں آنے سے پہلے)، جو L2 چین کی آخری معلوم درست اسٹیٹ کی عکاسی کرتا ہے۔ + +- **پوسٹ-اسٹیٹ روٹ**: ZK-rollup کا نیا اسٹیٹ روٹ (یعنی، بیچڈ ٹranzیکshnz کے عمل درآمد کے بعد)، جو L2 چین کی جدید ترین اسٹیٹ کی عکاسی کرتا ہے۔ پوسٹ-اسٹیٹ روٹ پروفنگ سرکٹ میں اسٹیٹ اپ ڈیٹس لاگو کرنے کے بعد حاصل ہونے والا حتمی روٹ ہے۔ + +- **بیچ روٹ**: بیچ کا مرکل روٹ، جو بیچ میں ٹرانزیکشنز کو _مرکلائز_ کرکے اور ٹری کے روٹ کو ہیش کرکے حاصل کیا جاتا ہے۔ + +- **ٹرانزیکشن ان پٹس**: جمع کرائے گئے بیچ کے حصے کے طور پر انجام دی گئی ٹرانزیکشنز سے وابستہ ڈیٹا۔ + +اگر پروف سرکٹ کو مطمئن کرتا ہے (یعنی، یہ درست ہے)، تو اس کا مطلب ہے کہ درست ٹرانزیکشنز کا ایک سلسلہ موجود ہے جو رول اپ کو پچھلے اسٹیٹ (کرپٹوگرافک طور پر پری-اسٹیٹ روٹ کے ذریعے فنگر پرنٹ شدہ) سے ایک نئے اسٹیٹ (کرپٹوگرافک طور پر پوسٹ-اسٹیٹ روٹ کے ذریعے فنگر پرنٹ شدہ) میں منتقل کرتا ہے۔ اگر پری-اسٹیٹ روٹ رول اپ کنٹریکٹ میں اسٹور کیے گئے روٹ سے میل کھاتا ہے، اور پروف درست ہے، تو رول اپ کنٹریکٹ پروف سے پوسٹ-اسٹیٹ روٹ لیتا ہے اور رول اپ کی تبدیل شدہ اسٹیٹ کی عکاسی کرنے کے لیے اپنے اسٹیٹ ٹری کو اپ ڈیٹ کرتا ہے۔ + +### اندراج اور اخراج {#entries-and-exits} + +صارفین ZK-rollup میں L1 چین پر ڈیپلائے کیے گئے رول اپ کے کنٹریکٹ میں ٹوکن جمع کرکے داخل ہوتے ہیں۔ یہ ٹرانزیکشن قطار میں لگ جاتی ہے کیونکہ صرف آپریٹرز ہی رول اپ کنٹریکٹ میں ٹرانزیکشنز جمع کرا سکتے ہیں۔ + +اگر زیر التواء ڈپازٹ قطار بھرنے لگتی ہے، تو ZK-rollup آپریٹر ڈپازٹ ٹرانزیکشنز لے کر انہیں رول اپ کنٹریکٹ میں جمع کرائے گا۔ ایک بار جب صارف کے فنڈز رول اپ میں آجائیں، تو وہ پروسیسنگ کے لیے آپریٹر کو ٹرانزیکشنز بھیج کر لین دین شروع کر سکتے ہیں۔ صارفین اپنے اکاؤنٹ ڈیٹا کو ہیش کرکے، ہیش کو رول اپ کنٹریکٹ میں بھیج کر، اور موجودہ اسٹیٹ روٹ کے خلاف تصدیق کے لیے ایک مرکل پروف فراہم کرکے رول اپ پر بیلنس کی تصدیق کر سکتے ہیں۔ + +ZK-rollup سے L1 میں واپسی سیدھی ہے۔ صارف رول اپ پر اپنے اثاثوں کو جلانے کے لیے ایک مخصوص اکاؤنٹ میں بھیج کر ایگزٹ ٹرانزیکشن شروع کرتا ہے۔ اگر آپریٹر ٹرانزیکشن کو اگلے بیچ میں شامل کرتا ہے، تو صارف آن چین کنٹریکٹ میں واپسی کی درخواست جمع کرا سکتا ہے۔ اس واپسی کی درخواست میں درج ذیل شامل ہوں گے: + +- مرکل پروف جو ایک ٹرانزیکشن بیچ میں برن اکاؤنٹ میں صارف کے ٹرانزیکشن کی شمولیت کو ثابت کرتا ہے۔ + +- ٹرانزیکشن ڈیٹا + +- بیچ روٹ + +- جمع شدہ فنڈز وصول کرنے کے لیے L1 ایڈریس + +رول اپ کنٹریکٹ ٹرانزیکشن ڈیٹا کو ہیش کرتا ہے، چیک کرتا ہے کہ آیا بیچ روٹ موجود ہے، اور مرکل پروف کا استعمال کرکے چیک کرتا ہے کہ آیا ٹرانزیکشن ہیش بیچ روٹ کا حصہ ہے۔ اس کے بعد، کنٹریکٹ ایگزٹ ٹرانزیکشن کو انجام دیتا ہے اور فنڈز کو L1 پر صارف کے منتخب کردہ ایڈریس پر بھیجتا ہے۔ + +## ZK-rollups اور EVM مطابقت {#zk-rollups-and-evm-compatibility} + +آپٹیمسٹک رول اپس کے برعکس، ZK-rollups [Ethereum Virtual Machine (EVM)](/developers/docs/evm/) کے ساتھ آسانی سے مطابقت نہیں رکھتے۔ سرکٹس میں عمومی مقصد کے EVM کمپیوٹیشن کو ثابت کرنا سادہ کمپیوٹیشنز (جیسے پہلے بیان کردہ ٹوکن ٹرانسفر) کو ثابت کرنے سے زیادہ مشکل اور وسائل سے بھرپور ہے۔ + +تاہم، [زیرو-نالج ٹیکنالوجی میں ترقی](https://hackmd.io/@yezhang/S1_KMMbGt#Why-possible-now) EVM کمپیوٹیشن کو زیرو-نالج پروف میں لپیٹنے میں نئی دلچسپی پیدا کر رہی ہے۔ یہ کوششیں ایک زیرو-نالج EVM (zkEVM) نفاذ بنانے کی طرف مرکوز ہیں جو پروگرام کے عمل کی درستگی کی مؤثر طریقے سے تصدیق کر سکے۔ ایک zkEVM سرکٹس میں ثابت کرنے/تصدیق کرنے کے لیے موجودہ EVM آپ کوڈز کو دوبارہ بناتا ہے، جس سے اسمارٹ کنٹریکٹس پر عمل درآمد کی اجازت ملتی ہے۔ + +EVM کی طرح، ایک zkEVM کچھ ان پٹس پر کمپیوٹیشن کیے جانے کے بعد اسٹیٹس کے درمیان منتقلی کرتا ہے۔ فرق یہ ہے کہ zkEVM پروگرام کے عمل میں ہر قدم کی درستگی کی تصدیق کے لیے زیرو-نالج پروف بھی بناتا ہے۔ ویلیڈیٹی پروف ان آپریشنز کی درستگی کی تصدیق کر سکتے ہیں جو VM کے اسٹیٹ (میموری، اسٹیک، اسٹوریج) اور خود کمپیوٹیشن کو چھوتے ہیں (یعنی، کیا آپریشن نے صحیح آپ کوڈز کو کال کیا اور انہیں صحیح طریقے سے انجام دیا؟)۔ + +EVM-مطابقت رکھنے والے ZK-rollups کے تعارف سے امید کی جاتی ہے کہ وہ ڈویلپرز کو زیرو-نالج پروف کی اسکیل ایبلٹی اور سیکیورٹی ضمانتوں سے فائدہ اٹھانے میں مدد کریں گے۔ زیادہ اہم بات یہ ہے کہ مقامی Ethereum انفراسٹرکچر کے ساتھ مطابقت کا مطلب ہے کہ ڈویلپرز مانوس (اور جنگ میں آزمودہ) ٹولنگ اور زبانوں کا استعمال کرتے ہوئے ZK-دوستانہ dapps بنا سکتے ہیں۔ + +## ZK-rollup فیس کیسے کام کرتی ہے؟ {#how-do-zk-rollup-fees-work} + +ZK-rollups پر ٹرانزیکشنز کے لیے صارفین کتنی رقم ادا کرتے ہیں اس کا انحصار گیس فیس پر ہوتا ہے، بالکل اسی طرح جیسے Ethereum Mainnet پر۔ تاہم، گیس فیس L2 پر مختلف طریقے سے کام کرتی ہے اور درج ذیل اخراجات سے متاثر ہوتی ہے: + +1. **اسٹیٹ رائٹ**: Ethereum کے اسٹیٹ پر لکھنے کے لیے ایک مقررہ لاگت ہے (یعنی، Ethereum بلاک چین پر ایک ٹرانزیکشن جمع کرانا)۔ ZK-rollups ٹرانزیکشنز کو بیچ کرکے اور مقررہ اخراجات کو متعدد صارفین میں تقسیم کرکے اس لاگت کو کم کرتے ہیں۔ + +2. **ڈیٹا پبلیکیشن**: ZK-rollups ہر ٹرانزیکشن کے لیے اسٹیٹ ڈیٹا کو Ethereum پر `calldata` کے طور پر شائع کرتے ہیں۔ `calldata` کی لاگت فی الحال [EIP-1559](https://eips.ethereum.org/EIPS/eip-1559) کے زیر انتظام ہے، جو بالترتیب `calldata` کے غیر صفر بائٹس کے لیے 16 گیس اور صفر بائٹس کے لیے 4 گیس کی لاگت کا تعین کرتا ہے۔ ہر ٹرانزیکشن پر ادا کی جانے والی لاگت اس بات سے متاثر ہوتی ہے کہ اس کے لیے آن چین کتنا `calldata` پوسٹ کرنے کی ضرورت ہے۔ + +3. **L2 آپریٹر فیس**: یہ وہ رقم ہے جو رول اپ آپریٹر کو ٹرانزیکشنز پر کارروائی میں ہونے والے کمپیوٹیشنل اخراجات کے معاوضے کے طور پر ادا کی جاتی ہے، بالکل اسی طرح جیسے Ethereum Mainnet پر [ٹرانزیکشن "ترجیحی فیس (ٹپس)"](/developers/docs/gas/#how-are-gas-fees-calculated)۔ + +4. **پروف کی تیاری اور تصدیق**: ZK-rollup آپریٹرز کو ٹرانزیکشن بیچوں کے لیے ویلیڈیٹی پروف تیار کرنا ضروری ہے، جو وسائل سے بھرپور ہے۔ Mainnet پر زیرو-نالج پروف کی تصدیق پر بھی گیس (~ 500,000 گیس) خرچ ہوتی ہے۔ + +ٹرانزیکشنز کو بیچ کرنے کے علاوہ، ZK-rollups ٹرانزیکشن ڈیٹا کو کمپریس کرکے صارفین کے لیے فیس کو کم کرتے ہیں۔ آپ Ethereum ZK-rollups استعمال کرنے کی لاگت کا [ریئل ٹائم جائزہ](https://l2fees.info/) دیکھ سکتے ہیں۔ + +## ZK-rollups Ethereum کو کیسے اسکیل کرتے ہیں؟ {#scaling-ethereum-with-zk-rollups} + +### ٹرانزیکشن ڈیٹا کمپریشن {#transaction-data-compression} + +ZK-rollups کمپیوٹیشن کو آف چین لے کر Ethereum کی بیس لیئر پر تھرو پُٹ کو بڑھاتے ہیں، لیکن اسکیلنگ کے لیے اصل فروغ ٹرانزیکشن ڈیٹا کو کمپریس کرنے سے آتا ہے۔ Ethereum کا [بلاک سائز](/developers/docs/blocks/#block-size) ہر بلاک میں موجود ڈیٹا کی مقدار کو محدود کرتا ہے اور، توسیع کے طور پر، فی بلاک پر کارروائی ہونے والے ٹرانزیکشنز کی تعداد کو۔ ٹرانزیکشن سے متعلقہ ڈیٹا کو کمپریس کرکے، ZK-rollups فی بلاک پر کارروائی ہونے والے ٹرانزیکشنز کی تعداد میں نمایاں اضافہ کرتے ہیں۔ + +ZK-rollups آپٹیمسٹک رول اپس کے مقابلے میں ٹرانزیکشن ڈیٹا کو بہتر طریقے سے کمپریس کر سکتے ہیں کیونکہ انہیں ہر ٹرانزیکشن کی توثیق کے لیے درکار تمام ڈیٹا پوسٹ کرنے کی ضرورت نہیں ہوتی ہے۔ انہیں صرف رول اپ پر اکاؤنٹس اور بیلنس کی تازہ ترین اسٹیٹ کو دوبارہ بنانے کے لیے درکار کم سے کم ڈیٹا پوسٹ کرنا ہوتا ہے۔ + +### ریکرسیو پروفس {#recursive-proofs} + +زیرو-نالج پروف کا ایک فائدہ یہ ہے کہ پروف دوسرے پروف کی تصدیق کر سکتے ہیں۔ مثال کے طور پر، ایک واحد ZK-SNARK دوسرے ZK-SNARKs کی تصدیق کر سکتا ہے۔ ایسے "پروف-آف-پروف" کو ریکرسیو پروف کہا جاتا ہے اور یہ ZK-rollups پر تھرو پُٹ میں ڈرامائی طور پر اضافہ کرتے ہیں۔ + +فی الحال، ویلیڈیٹی پروف بلاک بہ بلاک کی بنیاد پر تیار کیے جاتے ہیں اور تصدیق کے لیے L1 کنٹریکٹ میں جمع کرائے جاتے ہیں۔ تاہم، واحد بلاک پروف کی تصدیق اس تھرو پُٹ کو محدود کرتی ہے جسے ZK-rollups حاصل کر سکتے ہیں کیونکہ جب آپریٹر ایک پروف جمع کرتا ہے تو صرف ایک بلاک کو حتمی شکل دی جا سکتی ہے۔ + +تاہم، ریکرسیو پروف ایک ویلیڈیٹی پروف کے ساتھ کئی بلاکس کو حتمی شکل دینا ممکن بناتے ہیں۔ اس کی وجہ یہ ہے کہ پروفنگ سرکٹ بار بار متعدد بلاک پروف کو جمع کرتا ہے جب تک کہ ایک حتمی پروف نہ بن جائے۔ L2 آپریٹر اس ریکرسیو پروف کو جمع کرتا ہے، اور اگر کنٹریکٹ اسے قبول کرتا ہے، تو تمام متعلقہ بلاکس فوری طور پر حتمی شکل اختیار کر لیں گے۔ ریکرسیو پروف کے ساتھ، ZK-rollup ٹرانزیکشنز کی تعداد جو وقفوں پر Ethereum پر حتمی شکل دی جا سکتی ہے، بڑھ جاتی ہے۔ + +### ZK-rollups کے فائدے اور نقصانات {#zk-rollups-pros-and-cons} + +| فوائد | نقصانات | +| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| ویلیڈیٹی پروف آف چین ٹرانزیکشنز کی درستگی کو یقینی بناتے ہیں اور آپریٹرز کو غلط اسٹیٹ ٹرانزیشن پر عمل کرنے سے روکتے ہیں۔ | ویلیڈیٹی پروف کو کمپیوٹ کرنے اور تصدیق کرنے سے وابستہ لاگت کافی زیادہ ہے اور یہ رول اپ صارفین کے لیے فیس میں اضافہ کر سکتی ہے۔ | +| تیز تر ٹرانزیکشن کی حتمیت پیش کرتا ہے کیونکہ L1 پر ویلیڈیٹی پروف کی تصدیق کے بعد اسٹیٹ اپ ڈیٹس منظور ہو جاتی ہیں۔ | زیرو-نالج ٹیکنالوجی کی پیچیدگی کی وجہ سے EVM-مطابقت رکھنے والے ZK-rollups بنانا مشکل ہے۔ | +| سیکیورٹی کے لیے بغیر اعتماد کے کرپٹوگرافک میکانزم پر انحصار کرتا ہے، نہ کہ [آپٹیمسٹک رول اپس](/developers/docs/scaling/optimistic-rollups/#optimistic-pros-and-cons) کی طرح مراعات یافتہ اداکاروں کی ایمانداری پر۔ | ویلیڈیٹی پروف تیار کرنے کے لیے خصوصی ہارڈویئر کی ضرورت ہوتی ہے، جو چند پارٹیوں کے ذریعے چین کے مرکزی کنٹرول کی حوصلہ افزائی کر سکتا ہے۔ | +| آف چین اسٹیٹ کو بحال کرنے کے لیے درکار ڈیٹا کو L1 پر اسٹور کرتا ہے، جو سیکیورٹی، سنسرشپ-مزاحمت، اور ڈی سینٹرلائزیشن کی ضمانت دیتا ہے۔ | مرکزی آپریٹرز (سیکوینسرز) ٹرانزیکشنز کی ترتیب کو متاثر کر سکتے ہیں۔ | +| صارفین زیادہ کیپٹل کی کارکردگی سے فائدہ اٹھاتے ہیں اور بغیر کسی تاخیر کے L2 سے فنڈز نکال سکتے ہیں۔ | ہارڈویئر کی ضروریات شرکاء کی تعداد کو کم کر سکتی ہیں جو چین کو پیشرفت کرنے پر مجبور کر سکتے ہیں، جس سے بدنیتی پر مبنی آپریٹرز کے رول اپ کی اسٹیٹ کو منجمد کرنے اور صارفین کو سنسر کرنے کا خطرہ بڑھ جاتا ہے۔ | +| لائیونس مفروضوں پر انحصار نہیں کرتا اور صارفین کو اپنے فنڈز کی حفاظت کے لیے چین کی توثیق کرنے کی ضرورت نہیں ہے۔ | کچھ پروفنگ سسٹمز (مثلاً، ZK-SNARK) کو ایک قابل اعتماد سیٹ اپ کی ضرورت ہوتی ہے، جسے اگر غلط طریقے سے ہینڈل کیا جائے تو یہ ممکنہ طور پر ZK-rollup کے سیکیورٹی ماڈل سے سمجھوتہ کر سکتا ہے۔ | +| بہتر ڈیٹا کمپریشن Ethereum پر `calldata` شائع کرنے کے اخراجات کو کم کرنے اور صارفین کے لیے رول اپ فیس کو کم کرنے میں مدد کر سکتا ہے۔ | | + +### ZK-rollups کی ایک بصری وضاحت {#zk-video} + +Finematics کو ZK-rollups کی وضاحت کرتے ہوئے دیکھیں: + + + +## zkEVM پر کون کام کر رہا ہے؟ {#zkevm-projects} + +zkEVMs پر کام کرنے والے پروجیکٹس میں شامل ہیں: + +- **[zkEVM](https://github.com/privacy-scaling-explorations/zkevm-specs)** - _zkEVM ایک پروجیکٹ ہے جسے Ethereum فاؤنڈیشن نے EVM-کمپٹیبل ZK-rollup اور Ethereum بلاکس کے لیے ویلیڈیٹی پروف بنانے کے لیے ایک میکانزم تیار کرنے کے لیے فنڈ کیا ہے۔_ + +- **[Polygon zkEVM](https://polygon.technology/solutions/polygon-zkevm)** - _Ethereum mainnet پر ایک ڈی سینٹرلائزڈ ZK Rollup ہے جو ایک زیرو-نالج Ethereum Virtual Machine (zkEVM) پر کام کر رہا ہے جو Ethereum ٹرانزیکشنز کو شفاف طریقے سے انجام دیتا ہے، بشمول زیرو-نالج-پروف توثیق کے ساتھ اسمارٹ کنٹریکٹس۔_ + +- **[Scroll](https://scroll.io/blog/zkEVM)** - _Scroll ایک ٹیک پر مبنی کمپنی ہے جو Ethereum کے لیے ایک مقامی zkEVM لیئر 2 حل بنانے پر کام کر رہی ہے۔_ + +- **[Taiko](https://taiko.xyz)** - _Taiko ایک ڈی سینٹرلائزڈ، Ethereum-ایکویلینٹ ZK-rollup (ایک [Type 1 ZK-EVM](https://vitalik.eth.limo/general/2022/08/04/zkevm.html)) ہے۔_ + +- **[ZKsync](https://docs.zksync.io/)** - _ZKsync Era ایک EVM-مطابقت رکھنے والا ZK Rollup ہے جسے Matter Labs نے بنایا ہے، جو اس کے اپنے zkEVM سے چلتا ہے۔_ + +- **[Starknet](https://starkware.co/starknet/)** - _StarkNet ایک EVM-مطابقت رکھنے والا لیئر 2 اسکیلنگ حل ہے جسے StarkWare نے بنایا ہے۔_ + +- **[Morph](https://www.morphl2.io/)** - _Morph ایک ہائبرڈ رول اپ اسکیلنگ حل ہے جو لیئر 2 اسٹیٹ چیلنج کے مسئلے کو حل کرنے کے لیے zk-پروف کا استعمال کرتا ہے۔_ + +- **[Linea](https://linea.build)** - _Linea ایک Ethereum-equivalent zkEVM Layer 2 ہے جسے Consensys نے بنایا ہے، جو Ethereum ایکو سسٹم کے ساتھ مکمل طور پر ہم آہنگ ہے۔_ + +## ZK-rollups پر مزید پڑھنا {#further-reading-on-zk-rollups} + +- [زیرو-نالج رول اپس کیا ہیں؟](https://coinmarketcap.com/alexandria/glossary/zero-knowledge-rollups) +- [زیرو-نالج رول اپس کیا ہیں؟](https://alchemy.com/blog/zero-knowledge-rollups) +- [ایتھیریم رولپس کے لیے عملی گائیڈ](https://web.archive.org/web/20241108192208/https://research.2077.xyz/the-practical-guide-to-ethereum-rollups) +- [STARKs بمقابلہ SNARKs](https://consensys.net/blog/blockchain-explained/zero-knowledge-proofs-starks-vs-snarks/) +- [ایک zkEVM کیا ہے؟](https://www.alchemy.com/overviews/zkevm) +- [ZK-EVM اقسام: Ethereum-equivalent, EVM-equivalent, Type 1, Type 4, اور دیگر کرپٹک بزورڈز](https://taiko.mirror.xyz/j6KgY8zbGTlTnHRFGW6ZLVPuT0IV0_KmgowgStpA0K4) +- [zkEVM کا تعارف](https://hackmd.io/@yezhang/S1_KMMbGt) +- [ZK-EVM L2s کیا ہیں؟](https://linea.mirror.xyz/qD18IaQ4BROn_Y40EBMTUTdJHYghUtdECscSWyMvm8M) +- [Awesome-zkEVM وسائل](https://github.com/LuozhuZhang/awesome-zkevm) +- [پردے کے پیچھے ZK-SNARKS](https://vitalik.eth.limo/general/2017/02/01/zk_snarks.html) +- [SNARKs کیسے ممکن ہیں؟](https://vitalik.eth.limo/general/2021/01/26/snarks.html)