مرکزی مواد پر جائیں
Change page

ایتھیریم اسٹیک کا تعارف

کسی بھی سافٹ ویئر اسٹیک کی طرح، مکمل "ایتھیریم اسٹیک" آپ کے اہداف کے لحاظ سے ایک پروجیکٹ سے دوسرے پروجیکٹ میں مختلف ہوگا۔

تاہم، ایتھیریم کے کچھ بنیادی اجزاء ہیں جو اس بات کا ذہنی خاکہ فراہم کرنے میں مدد کرتے ہیں کہ سافٹ ویئر ایپلی کیشنز ایتھیریم بلاک چین کے ساتھ کیسے تعامل کرتی ہیں۔ اسٹیک کی تہوں کو سمجھنے سے آپ کو ان مختلف طریقوں کو سمجھنے میں مدد ملے گی جن سے ایتھیریم کو سافٹ ویئر پروجیکٹس میں ضم کیا جا سکتا ہے۔

لیول 1: ایتھیریم ورچوئل مشین

ایتھیریم ورچوئل مشین (EVM) ایتھیریم پر اسمارٹ کانٹریکٹس کے لیے رن ٹائم ماحول ہے۔ ایتھیریم بلاک چین پر تمام اسمارٹ کانٹریکٹس اور حالت کی تبدیلیاں ٹرانزیکشنز کے ذریعے انجام دی جاتی ہیں۔ EVM ایتھیریم نیٹ ورک پر تمام ٹرانزیکشن پروسیسنگ کو سنبھالتی ہے۔

کسی بھی ورچوئل مشین کی طرح، EVM ایگزیکیوٹ ہونے والے کوڈ اور ایگزیکیوٹ کرنے والی مشین (ایک ایتھیریم نوڈ) کے درمیان تجرید (abstraction) کی ایک سطح بناتی ہے۔ فی الحال، EVM دنیا بھر میں پھیلے ہوئے ہزاروں نوڈز پر چل رہی ہے۔

اندرونی طور پر، EVM مخصوص کام انجام دینے کے لیے آپ کوڈ ہدایات کا ایک سیٹ استعمال کرتی ہے۔ یہ (140 منفرد) آپ کوڈز EVM کو ٹیورنگ-مکمل (Turing-complete) (opens in a new tab) ہونے کی اجازت دیتے ہیں، جس کا مطلب ہے کہ اگر کافی وسائل فراہم کیے جائیں تو EVM تقریباً کسی بھی چیز کا حساب لگانے کے قابل ہے۔

ایک غیر مرکزی ایپلی کیشن (dapp) ڈیولپر کے طور پر، آپ کو EVM کے بارے میں اس سے زیادہ جاننے کی ضرورت نہیں ہے کہ یہ موجود ہے اور یہ بغیر کسی رکاوٹ کے ایتھیریم پر تمام ایپلی کیشنز کو قابل اعتماد طریقے سے چلاتی ہے۔

لیول 2: اسمارٹ کانٹریکٹس

اسمارٹ کانٹریکٹس وہ قابل عمل پروگرام ہیں جو ایتھیریم بلاک چین پر چلتے ہیں۔

اسمارٹ کانٹریکٹس مخصوص پروگرامنگ زبانوں کا استعمال کرتے ہوئے لکھے جاتے ہیں جو EVM بائٹ کوڈ (نچلی سطح کی مشینی ہدایات جنہیں آپ کوڈز کہا جاتا ہے) میں مرتب (compile) ہوتے ہیں۔

اسمارٹ کانٹریکٹس نہ صرف اوپن سورس لائبریریوں کے طور پر کام کرتے ہیں، بلکہ وہ بنیادی طور پر اوپن API سروسز ہیں جو ہمیشہ چلتی رہتی ہیں اور انہیں بند نہیں کیا جا سکتا۔ اسمارٹ کانٹریکٹس عوامی فنکشنز فراہم کرتے ہیں جن کے ساتھ صارفین اور ایپلی کیشنز (dapps) بغیر اجازت کے تعامل کر سکتے ہیں۔ کوئی بھی ایپلی کیشن فعالیت کو ترتیب دینے کے لیے تعینات کردہ اسمارٹ کانٹریکٹس کے ساتھ ضم ہو سکتی ہے، جیسے کہ ڈیٹا فیڈز شامل کرنا یا ٹوکن کے تبادلے کی حمایت کرنا۔ مزید برآں، کوئی بھی شخص اپنی ایپلی کیشن کی ضروریات کو پورا کرنے کے لیے حسب ضرورت فعالیت شامل کرنے کی غرض سے ایتھیریم پر نئے اسمارٹ کانٹریکٹس تعینات کر سکتا ہے۔

ایک dapp ڈیولپر کے طور پر، آپ کو اسمارٹ کانٹریکٹس صرف اس صورت میں لکھنے کی ضرورت ہوگی جب آپ ایتھیریم بلاک چین پر حسب ضرورت فعالیت شامل کرنا چاہتے ہوں۔ آپ کو معلوم ہو سکتا ہے کہ آپ اپنے پروجیکٹ کی زیادہ تر یا تمام ضروریات کو محض موجودہ اسمارٹ کانٹریکٹس کے ساتھ ضم کر کے پورا کر سکتے ہیں، مثال کے طور پر اگر آپ اسٹیبل کوائنز میں ادائیگیوں کی حمایت کرنا چاہتے ہیں یا ٹوکنز کے لامركزی تبادلے کو فعال کرنا چاہتے ہیں۔

لیول 3: ایتھیریم نوڈز

کسی ایپلی کیشن کو ایتھیریم بلاک چین کے ساتھ تعامل کرنے کے لیے، اسے ایک ایتھیریم نوڈ سے جڑنا ضروری ہے۔ کسی نوڈ سے جڑنے سے آپ بلاک چین کا ڈیٹا پڑھ سکتے ہیں اور/یا نیٹ ورک پر ٹرانزیکشنز بھیج سکتے ہیں۔

ایتھیریم نوڈز وہ کمپیوٹرز ہیں جو سافٹ ویئر چلاتے ہیں - ایک ایتھیریم کلائنٹ۔ کلائنٹ ایتھیریم کا ایک نفاذ (implementation) ہے جو ہر بلاک میں تمام ٹرانزیکشنز کی تصدیق کرتا ہے، نیٹ ورک کو محفوظ اور ڈیٹا کو درست رکھتا ہے۔ ایتھیریم نوڈز ہی ایتھیریم بلاک چین ہیں۔ وہ اجتماعی طور پر ایتھیریم بلاک چین کی حالت کو اسٹور کرتے ہیں اور بلاک چین کی حالت کو تبدیل کرنے کے لیے ٹرانزیکشنز پر اتفاق رائے تک پہنچتے ہیں۔

اپنی ایپلی کیشن کو ایتھیریم نوڈ سے جوڑ کر (جے سن آر پی سی API کے ذریعے)، آپ کی ایپلی کیشن بلاک چین سے ڈیٹا پڑھنے (جیسے صارف کے اکاؤنٹ کا بیلنس) کے ساتھ ساتھ نیٹ ورک پر نئی ٹرانزیکشنز نشر کرنے (جیسے صارف کے اکاؤنٹس کے درمیان ETH منتقل کرنا یا اسمارٹ کانٹریکٹس کے فنکشنز کو انجام دینا) کے قابل ہو جاتی ہے۔

لیول 4: ایتھیریم کلائنٹ APIs

بہت سی سہولت بخش لائبریریاں (جو ایتھیریم کی اوپن سورس کمیونٹی کے ذریعے بنائی اور برقرار رکھی گئی ہیں) آپ کی ایپلی کیشنز کو ایتھیریم بلاک چین سے جڑنے اور بات چیت کرنے کی اجازت دیتی ہیں۔

اگر آپ کی صارف کا سامنا کرنے والی ایپلی کیشن ایک ویب ایپ ہے، تو آپ اپنے فرنٹ اینڈ میں براہ راست ایک JavaScript API کو npm install کرنے کا انتخاب کر سکتے ہیں۔ یا شاید آپ اس فعالیت کو سرور سائیڈ پر نافذ کرنے کا انتخاب کریں گے، Python یا Java API کا استعمال کرتے ہوئے۔

اگرچہ یہ APIs اسٹیک کا لازمی حصہ نہیں ہیں، لیکن یہ براہ راست ایتھیریم نوڈ کے ساتھ تعامل کی زیادہ تر پیچیدگی کو چھپا دیتی ہیں۔ یہ افادیت کے فنکشنز بھی فراہم کرتی ہیں (جیسے، ETH کو Gwei میں تبدیل کرنا) تاکہ ایک ڈیولپر کے طور پر آپ ایتھیریم کلائنٹس کی پیچیدگیوں سے نمٹنے میں کم وقت صرف کریں اور اپنی ایپلی کیشن کی مخصوص فعالیت پر زیادہ توجہ مرکوز کر سکیں۔

لیول 5: اینڈ-یوزر ایپلی کیشنز

اسٹیک کی سب سے اوپری سطح پر صارف کا سامنا کرنے والی ایپلی کیشنز ہیں۔ یہ وہ معیاری ایپلی کیشنز ہیں جنہیں آپ آج کل باقاعدگی سے استعمال کرتے اور بناتے ہیں: بنیادی طور پر ویب اور موبائل ایپس۔

ان یوزر انٹرفیسز کو تیار کرنے کا آپ کا طریقہ بنیادی طور پر تبدیل نہیں ہوتا ہے۔ اکثر صارفین کو یہ جاننے کی ضرورت نہیں ہوگی کہ وہ جو ایپلی کیشن استعمال کر رہے ہیں وہ بلاک چین کا استعمال کرتے ہوئے بنائی گئی ہے۔

کیا آپ اپنا اسٹیک منتخب کرنے کے لیے تیار ہیں؟

اپنی ایتھیریم ایپلی کیشن کے لیے مقامی ڈیولپمنٹ ماحول ترتیب دینے کے لیے ہماری گائیڈ دیکھیں۔

مزید مطالعہ

کسی ایسے کمیونٹی وسیلے کے بارے میں جانتے ہیں جس نے آپ کی مدد کی ہو؟ اس صفحے میں ترمیم کریں اور اسے شامل کریں!