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

سمارٹ کنٹریکٹ کی ترکیب پذیری

ایک مختصر تعارف

ایتھیریم پر سمارٹ کنٹریکٹس عوامی ہوتے ہیں اور انہیں اوپن APIs سمجھا جا سکتا ہے۔ ایک dapp ڈیولپر بننے کے لیے آپ کو اپنا سمارٹ کنٹریکٹ لکھنے کی ضرورت نہیں ہے، آپ کو صرف یہ جاننے کی ضرورت ہے کہ ان کے ساتھ کیسے تعامل کیا جائے۔ مثال کے طور پر، آپ اپنی ایپ میں ٹوکن کے تبادلے کی تمام منطق کو سنبھالنے کے لیے ایک لامركزی ایکسچینج، یونی سویپ (opens in a new tab) کے موجودہ سمارٹ کنٹریکٹس استعمال کر سکتے ہیں – آپ کو بالکل شروع سے آغاز کرنے کی ضرورت نہیں ہے۔ ان کے کچھ v2 (opens in a new tab) اور v3 (opens in a new tab) کنٹریکٹس دیکھیں۔

ترکیب پذیری کیا ہے؟

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

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

ترکیب پذیری کیسے کام کرتی ہے؟

ایتھیریم سمارٹ کنٹریکٹس عوامی APIs کی طرح ہیں، لہذا کوئی بھی کنٹریکٹ کے ساتھ تعامل کر سکتا ہے یا اضافی فعالیت کے لیے انہیں dapps میں ضم کر سکتا ہے۔ سمارٹ کنٹریکٹ کی ترکیب پذیری عام طور پر تین اصولوں پر کام کرتی ہے: ماڈیولرٹی، خود مختاری، اور دریافت پذیری:

  1. ماڈیولرٹی: یہ انفرادی اجزاء کی کسی مخصوص کام کو انجام دینے کی صلاحیت ہے۔ ایتھیریم میں، ہر سمارٹ کنٹریکٹ کا ایک مخصوص استعمال ہوتا ہے (جیسا کہ یونی سویپ کی مثال میں دکھایا گیا ہے)۔

  2. خود مختاری: قابلِ ترکیب اجزاء کو آزادانہ طور پر کام کرنے کے قابل ہونا چاہیے۔ ایتھیریم میں ہر سمارٹ کنٹریکٹ خود کار طریقے سے چلتا ہے اور سسٹم کے دوسرے حصوں پر انحصار کیے بغیر کام کر سکتا ہے۔

  3. دریافت پذیری: ڈیولپرز بیرونی کنٹریکٹس کو کال نہیں کر سکتے یا سافٹ ویئر لائبریریوں کو ایپلی کیشنز میں ضم نہیں کر سکتے اگر وہ عوامی طور پر دستیاب نہ ہوں۔ ڈیزائن کے لحاظ سے، سمارٹ کنٹریکٹس اوپن سورس ہوتے ہیں؛ کوئی بھی سمارٹ کنٹریکٹ کو کال کر سکتا ہے یا کوڈ بیس کو فورک کر سکتا ہے۔

ترکیب پذیری کے فوائد

مختصر ڈیولپمنٹ سائیکل

ترکیب پذیری اس کام کو کم کرتی ہے جو ڈیولپرز کو dapps بناتے وقت کرنا پڑتا ہے۔ جیسا کہ نیول روی کانت کہتے ہیں: (opens in a new tab) "اوپن سورس کا مطلب ہے کہ ہر مسئلے کو صرف ایک بار حل کرنا پڑتا ہے۔"

اگر کوئی ایسا سمارٹ کنٹریکٹ موجود ہے جو ایک مسئلہ حل کرتا ہے، تو دوسرے ڈیولپرز اسے دوبارہ استعمال کر سکتے ہیں، تاکہ انہیں وہی مسئلہ دوبارہ حل نہ کرنا پڑے۔ اس طرح، ڈیولپرز موجودہ سافٹ ویئر لائبریریوں کو لے کر نئی dapps بنانے کے لیے اضافی فعالیت شامل کر سکتے ہیں۔

زیادہ جدت

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

بہتر صارف کا تجربہ

ایتھیریم ایکو سسٹم کے اجزاء کے درمیان باہمی عمل پذیری صارف کے تجربے کو بہتر بناتی ہے۔ جب dapps بیرونی سمارٹ کنٹریکٹس کو ضم کرتی ہیں تو صارفین کو ایک بکھرے ہوئے ایکو سسٹم کی نسبت زیادہ فعالیت تک رسائی حاصل ہوتی ہے جہاں ایپلی کیشنز آپس میں بات چیت نہیں کر سکتیں۔

ہم باہمی عمل پذیری کے فوائد کو واضح کرنے کے لیے آربٹریج ٹریڈنگ کی ایک مثال استعمال کریں گے:

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

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

ہماری ابتدائی مثال کی طرف واپس آتے ہوئے، ایک آربٹریج ٹریڈر ایک بڑا فلیش لون لے سکتا ہے، exchange B سے ٹوکن خرید سکتا ہے، انہیں exchange A پر بیچ سکتا ہے، اصل رقم + سود واپس کر سکتا ہے، اور منافع اپنے پاس رکھ سکتا ہے، یہ سب ایک ہی ٹرانزیکشن کے اندر ہوتا ہے۔ اس پیچیدہ منطق کے لیے متعدد کنٹریکٹس کی کالز کو ملانے کی ضرورت ہوتی ہے، جو ممکن نہیں ہوتا اگر سمارٹ کنٹریکٹس میں باہمی عمل پذیری کی کمی ہوتی۔

ایتھیریم میں ترکیب پذیری کی مثالیں

ٹوکن کے تبادلے

اگر آپ ایک ایسی dapp بناتے ہیں جس میں ٹرانزیکشنز کی ادائیگی ETH میں درکار ہو، تو آپ ٹوکن کے تبادلے کی منطق کو ضم کر کے صارفین کو دیگر ERC-20 ٹوکنز میں ادائیگی کرنے کی اجازت دے سکتے ہیں۔ کنٹریکٹ کے کال کیے گئے فنکشن کو چلانے سے پہلے کوڈ خود بخود صارف کے ٹوکن کو ETH میں تبدیل کر دے گا۔

گورننس

کسی DAO کے لیے مخصوص گورننس سسٹمز بنانا مہنگا اور وقت طلب ہو سکتا ہے۔ اس کے بجائے، آپ گورننس کا فریم ورک تیزی سے بنانے کے لیے اپنے DAO کو شروع کرنے کے لیے ایک اوپن سورس گورننس ٹول کٹ، جیسے کہ Aragon Client (opens in a new tab) استعمال کر سکتے ہیں۔

شناخت کا انتظام

ایک کسٹم تصدیقی سسٹم بنانے یا مرکزی فراہم کنندگان پر انحصار کرنے کے بجائے، آپ صارفین کے لیے تصدیق کا انتظام کرنے کے لیے غیر مرکزی شناخت (ڈی آئی ڈی) ٹولز کو ضم کر سکتے ہیں۔ اس کی ایک مثال SpruceID (opens in a new tab) ہے، جو ایک اوپن سورس ٹول کٹ ہے اور "ایتھیریم کے ساتھ سائن ان کریں" کی فعالیت پیش کرتی ہے جو صارفین کو ایتھیریم والیٹ کے ساتھ شناخت کی تصدیق کرنے کی سہولت دیتی ہے۔

مزید مطالعہ

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