کتاب "Ethereum blockchain کے لیے سالیڈیٹی سمارٹ معاہدے کی تخلیق۔ عملی رہنما"

کتاب "Ethereum blockchain کے لیے سالیڈیٹی سمارٹ معاہدے کی تخلیق۔ عملی رہنما"
میں ایک سال سے زیادہ عرصے سے کتاب "Creating Solidity Smart Contracts for the Ethereum Blockchain" پر کام کر رہا ہوں۔ عملی گائیڈ"، اور اب یہ کام مکمل ہو گیا ہے، اور کتاب شائع اور لیٹر میں دستیاب ہے۔.

مجھے امید ہے کہ میری کتاب Ethereum blockchain کے لیے سولیڈیٹی سمارٹ رابطے اور تقسیم شدہ DApps بنانا شروع کرنے میں آپ کی مدد کرے گی۔ یہ عملی کاموں کے ساتھ 12 اسباق پر مشتمل ہے۔ ان کو مکمل کرنے کے بعد، قاری اپنے مقامی ایتھریم نوڈس بنانے، سمارٹ کنٹریکٹس شائع کرنے اور ان کے طریقوں کو کال کرنے، اوریکلز کا استعمال کرتے ہوئے حقیقی دنیا اور سمارٹ کنٹریکٹس کے درمیان ڈیٹا کا تبادلہ کرنے اور Rinkeby ٹیسٹ ڈیبگ نیٹ ورک کے ساتھ کام کرنے کے قابل ہو جائے گا۔

یہ کتاب ہر اس شخص سے مخاطب ہے جو بلاک چین کے شعبے میں جدید ٹیکنالوجیز میں دلچسپی رکھتا ہے اور جلد سے جلد علم حاصل کرنا چاہتا ہے جو انہیں دلچسپ اور امید افزا کام میں مشغول ہونے کی اجازت دیتا ہے۔

ذیل میں آپ کو مندرجات کا جدول اور کتاب کا پہلا باب مل جائے گا۔ لیٹرس کتاب کے ٹکڑے دستیاب ہیں)۔ مجھے آراء، تبصرے اور تجاویز موصول ہونے کی امید ہے۔ کتاب کے اگلے ایڈیشن کی تیاری میں ان سب باتوں کو مدنظر رکھنے کی کوشش کروں گا۔

مواد کی میزتعارفہماری کتاب کا مقصد ان لوگوں کے لیے ہے جو نہ صرف Ethereum blockchain کے اصولوں کو سمجھنا چاہتے ہیں بلکہ اس نیٹ ورک کے لیے سولیڈیٹی پروگرامنگ لینگویج میں تقسیم شدہ DApps بنانے میں عملی مہارت بھی حاصل کرنا چاہتے ہیں۔

بہتر ہے کہ نہ صرف اس کتاب کو پڑھا جائے بلکہ اس کے ساتھ کام کرنا، اسباق میں بیان کردہ عملی کاموں کو انجام دینا۔ کام کرنے کے لیے، آپ کو ایک مقامی کمپیوٹر، ورچوئل یا کلاؤڈ سرور کی ضرورت ہوگی جس میں Debian یا Ubuntu OS انسٹال ہو۔ آپ بہت سے کام انجام دینے کے لیے Raspberry Pi کا بھی استعمال کر سکتے ہیں۔

پہلے سبق میں ہم Ethereum blockchain کے آپریٹنگ اصولوں اور بنیادی اصطلاحات کو دیکھیں گے، اور یہ بھی بات کریں گے کہ اس بلاکچین کو کہاں استعمال کیا جا سکتا ہے۔

گول دوسرا سبق - Ubuntu اور Debian سرور پر اس کورس کے اندر مزید کام کے لیے ایک پرائیویٹ Ethereum blockchain نوڈ بنائیں۔ ہم بنیادی افادیت کو انسٹال کرنے کی خصوصیات کو دیکھیں گے، جیسے کہ گیتھ، جو ہمارے بلاکچین نوڈ کے ساتھ ساتھ swarm decentralized ڈیٹا اسٹوریج ڈیمون کے آپریشن کو یقینی بناتا ہے۔

تیسرا سبق آپ کو سکھائے گا کہ ایک سستے Raspberry Pi مائیکرو کمپیوٹر پر Ethereum کے ساتھ کیسے تجربہ کرنا ہے۔ آپ Raspberry Pi پر Rasberian آپریٹنگ سسٹم (OS) انسٹال کریں گے، گیتھ یوٹیلیٹی جو بلاکچین نوڈ کو طاقت دیتی ہے، اور Swarm ڈی سینٹرلائزڈ ڈیٹا اسٹوریج ڈیمون۔

سبق چار Ethereum نیٹ ورک پر اکاؤنٹس اور cryptocurrency یونٹس کے ساتھ ساتھ گیتھ کنسول سے ایک اکاؤنٹ سے دوسرے اکاؤنٹ میں رقوم کی منتقلی کے طریقوں کے لیے وقف ہے۔ آپ اکاؤنٹس بنانے، فنڈ ٹرانسفر ٹرانزیکشنز شروع کرنے، اور لین دین کی حیثیت اور رسید حاصل کرنے کا طریقہ سیکھیں گے۔

پانچویں سبق میں آپ Ethereum نیٹ ورک پر سمارٹ معاہدوں سے واقف ہوں گے اور Ethereum ورچوئل مشین کے ذریعے ان کے نفاذ کے بارے میں جانیں گے۔

آپ Ethereum نجی نیٹ ورک پر اپنا پہلا سمارٹ کنٹریکٹ بنائیں گے اور شائع کریں گے اور اس کے فنکشنز کو کال کرنے کا طریقہ سیکھیں گے۔ ایسا کرنے کے لیے، آپ Remix Solidity IDE استعمال کریں گے۔ آپ سولک بیچ کمپائلر کو انسٹال اور استعمال کرنے کا طریقہ بھی سیکھیں گے۔
ہم نام نہاد Application Binary Interface (ABI) کے بارے میں بھی بات کریں گے اور آپ کو سکھائیں گے کہ اسے کیسے استعمال کیا جائے۔

چھٹا سبق Node.js چلانے والے JavaScript اسکرپٹس بنانے اور سولیڈیٹی سمارٹ کنٹریکٹس کے ساتھ آپریشنز کرنے کے لیے وقف ہے۔

آپ Ubuntu، Debian اور Rasberian OS پر Node.js انسٹال کریں گے، Ethereum لوکل نیٹ ورک پر اسمارٹ کنٹریکٹ شائع کرنے کے لیے اسکرپٹ لکھیں گے اور اس کے فنکشنز کو کال کریں گے۔

اس کے علاوہ، آپ اسکرپٹس کا استعمال کرتے ہوئے باقاعدہ اکاؤنٹس کے درمیان رقوم کی منتقلی کے ساتھ ساتھ انہیں سمارٹ کنٹریکٹ اکاؤنٹس میں کریڈٹ کرنے کا طریقہ سیکھیں گے۔

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

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

نویں سبق میں آپ Ethereum mainnet کے لیے سمارٹ کنٹریکٹس بنانے کے لیے ایک قدم اور قریب ہوں گے۔ آپ گیتھ پرائیویٹ نیٹ ورک کے ساتھ ساتھ Rinkeby testnet پر Truffle کا استعمال کرتے ہوئے معاہدوں کو شائع کرنے کا طریقہ سیکھیں گے۔ Rinkeby نیٹ ورک پر سمارٹ کنٹریکٹ کو مین نیٹ ورک پر شائع کرنے سے پہلے اسے ڈیبگ کرنا بہت مفید ہے - وہاں تقریباً ہر چیز اصلی ہے، لیکن مفت میں۔

سبق کے حصے کے طور پر، آپ ایک Rinkeby ٹیسٹ نیٹ ورک نوڈ بنائیں گے، اسے فنڈز سے فنڈ دیں گے، اور ایک سمارٹ کنٹریکٹ شائع کریں گے۔

سبق 10۔ Ethereum Swarm تقسیم شدہ ڈیٹا اسٹوریج کے لیے وقف ہے۔ تقسیم شدہ سٹوریج کا استعمال کرکے، آپ Ethereum blockchain پر بڑی مقدار میں ڈیٹا ذخیرہ کرنے پر بچت کرتے ہیں۔

اس ٹیوٹوریل میں، آپ ایک مقامی سوارم سٹوریج بنائیں گے، فائلوں اور فائل ڈائرکٹریز پر لکھیں اور پڑھیں گے۔ اگلا، آپ عوامی سوارم گیٹ وے کے ساتھ کام کرنے کا طریقہ سیکھیں گے، Node.js سے Swarm تک رسائی کے لیے اسکرپٹ لکھیں گے، ساتھ ہی Perl Net::Ethereum::Swarm ماڈیول کا استعمال بھی کریں گے۔

سبق کا مقصد 11 - مشہور Python پروگرامنگ لینگویج اور Web3.py فریم ورک کا استعمال کرتے ہوئے سولیڈیٹی سمارٹ کنٹریکٹس کے ساتھ کام کرنے والا ماسٹر۔ آپ فریم ورک انسٹال کریں گے، سمارٹ کنٹریکٹ کو مرتب کرنے اور شائع کرنے کے لیے اسکرپٹ لکھیں گے، اور اس کے افعال کو کال کریں گے۔ اس صورت میں، Web3.py کو اپنے طور پر اور Truffle مربوط ترقیاتی ماحول کے ساتھ مل کر استعمال کیا جائے گا۔

سبق 12 میں آپ اوریکلز کا استعمال کرتے ہوئے سمارٹ کنٹریکٹس اور حقیقی دنیا کے درمیان ڈیٹا منتقل کرنا سیکھیں گے۔ یہ آپ کے لیے ویب سائٹس، IoT ڈیوائسز، مختلف ڈیوائسز اور سینسرز سے ڈیٹا وصول کرنے اور ان ڈیوائسز کو سمارٹ کنٹریکٹس سے ڈیٹا بھیجنے کے لیے مفید ہوگا۔ سبق کے عملی حصے میں، آپ ایک اوریکل اور ایک سمارٹ کنٹریکٹ بنائیں گے جو روسی فیڈریشن کے مرکزی بینک کی ویب سائٹ سے USD اور روبل کے درمیان موجودہ شرح مبادلہ وصول کرتا ہے۔

سبق 1۔ بلاک چین اور ایتھریم نیٹ ورک کے بارے میں مختصراًسبق کا مقصد: Ethereum blockchain کے آپریٹنگ اصولوں، اس کے اطلاق کے شعبوں اور بنیادی اصطلاحات سے واقف ہوں۔
عملی کام: اس سبق میں شامل نہیں ہے۔

آج شاید ہی کوئی ایسا سافٹ ویئر ڈویلپر ہو جس نے بلاک چین ٹیکنالوجی (Blockchain)، کرپٹو کرنسیز (Cryptocurrency یا کرپٹو کرنسی)، Bitcoin (Bitcoin)، ابتدائی سکے کی پیشکش (ICO، ابتدائی سکے کی پیشکش)، سمارٹ کنٹریکٹ (Smart Contracts) کے بارے میں کچھ نہ سنا ہو۔ نیز بلاکچین سے متعلق دیگر تصورات اور اصطلاحات۔

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

یہ کہنا ضروری ہے کہ cryptocurrencies اور blockchains کے ارد گرد بہت زیادہ قیاس آرائیاں ہیں۔ ہم کرپٹو کرنسی کی شرحوں میں تبدیلی، اہرام کی تخلیق، کریپٹو کرنسی قانون سازی کی پیچیدگیوں وغیرہ کے بارے میں بات چیت کو ایک طرف چھوڑ دیں گے۔ اپنے تربیتی کورس میں ہم بنیادی طور پر Ethereum blockchain (Ethereum, Ether) کے سمارٹ کنٹریکٹس کے اطلاق اور نام نہاد وکندریقرت ایپلی کیشنز (Distributed Application, DApp) کی ترقی کے تکنیکی پہلوؤں پر توجہ مرکوز کریں گے۔

بلاکچین کیا ہے؟

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

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

تقسیم شدہ ڈیٹا بیس

ایک بلاکچین کو ایک تقسیم شدہ ڈیٹا بیس کے طور پر سوچا جا سکتا ہے جسے بلاکچین نیٹ ورک کے تمام نوڈس پر نقل کیا جاتا ہے۔ نظریہ میں، بلاکچین اس وقت تک کام کرے گا جب تک کہ کم از کم ایک نوڈ کام کر رہا ہو، بلاکچین کے تمام بلاکس کو محفوظ کر رہا ہو۔

تقسیم شدہ ڈیٹا رجسٹری

بلاکچین کو ڈیٹا اور آپریشنز (لین دین) کے تقسیم شدہ لیجر کے طور پر سوچا جا سکتا ہے۔ اس طرح کے رجسٹر کا دوسرا نام لیجر ہے۔

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

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

معاملات

بلاکچین آپریشنز (لین دین) کے بارے میں معلومات کو بلاکس میں محفوظ کرتا ہے۔ ایک ہی وقت میں، پرانے، پہلے سے مکمل شدہ لین دین کو واپس نہیں لایا جا سکتا اور نہ ہی تبدیل کیا جا سکتا ہے۔ نئے لین دین کو نئے، اضافی بلاکس میں محفوظ کیا جاتا ہے۔

اس طرح، بلاک چین پر لین دین کی پوری تاریخ بغیر کسی تبدیلی کے ریکارڈ کی جا سکتی ہے۔ لہذا، بلاکچین کو استعمال کیا جا سکتا ہے، مثال کے طور پر، بینکنگ لین دین، کاپی رائٹ کی معلومات، جائیداد کے مالکان میں تبدیلیوں کی تاریخ وغیرہ کو محفوظ طریقے سے ذخیرہ کرنے کے لیے۔

ایتھریم بلاکچین نام نہاد سسٹم اسٹیٹس پر مشتمل ہے۔ جیسے ہی لین دین کو انجام دیا جاتا ہے، ریاست ابتدائی حالت سے موجودہ حالت میں بدل جاتی ہے۔ لین دین کو بلاکس میں ریکارڈ کیا جاتا ہے۔

پبلک اور پرائیویٹ بلاک چینز

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

بلاکچین کی عملی ایپلی کیشنز

بلاکچین کس چیز کے لیے مفید ہو سکتا ہے؟

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

یقیناً، آپ جانتے ہیں کہ کرپٹو کرنسی سسٹم بلاک چینز کی بنیاد پر بنائے جا رہے ہیں، جو عام کاغذی کرنسی کو بدلنے کے لیے بنائے گئے ہیں۔ کاغذی رقم کو فیاٹ (Fiat Money سے) بھی کہا جاتا ہے۔
Blockchain بلاکس میں ریکارڈ شدہ لین دین کی ذخیرہ اندوزی اور تبدیلی کو یقینی بناتا ہے، یہی وجہ ہے کہ اسے کرپٹو کرنسی سسٹم بنانے کے لیے استعمال کیا جا سکتا ہے۔ اس میں مختلف صارفین (اکاؤنٹس) کے درمیان کرپٹو فنڈز کی منتقلی کی پوری تاریخ موجود ہے، اور کسی بھی آپریشن کو ٹریک کیا جا سکتا ہے۔

اگرچہ کریپٹو کرنسی سسٹم کے اندر لین دین گمنام ہو سکتا ہے، کریپٹو کرنسی کو واپس لینے اور اسے فیاٹ رقم کے بدلے عام طور پر کرپٹو کرنسی اثاثہ کے مالک کی شناخت ظاہر کرنے کا نتیجہ ہوتا ہے۔

نام نہاد سمارٹ کنٹریکٹس، جو ایتھریم نیٹ ورک پر چلنے والے سافٹ ویئر ہیں، آپ کو لین دین کو مکمل کرنے اور ان کے نفاذ کی نگرانی کرنے کے عمل کو خودکار کرنے کی اجازت دیتے ہیں۔ یہ خاص طور پر مؤثر ہے اگر لین دین کی ادائیگی ایتھر کریپٹو کرنسی کے ذریعے کی جاتی ہے۔

سولیڈیٹی پروگرامنگ لینگویج میں لکھے گئے ایتھریم بلاکچین اور ایتھریم سمارٹ کنٹریکٹس کو استعمال کیا جا سکتا ہے، مثال کے طور پر، درج ذیل شعبوں میں:

  • دستاویزات کی نوٹریائزیشن کا متبادل؛
  • رئیل اسٹیٹ اشیاء کے رجسٹر کا ذخیرہ اور رئیل اسٹیٹ اشیاء کے ساتھ لین دین کے بارے میں معلومات؛
  • دانشورانہ املاک پر کاپی رائٹ کی معلومات کا ذخیرہ (کتابیں، تصاویر، موسیقی کے کام وغیرہ)؛
  • آزاد ووٹنگ کے نظام کی تخلیق؛
  • فنانس اور بینکنگ؛
  • بین الاقوامی پیمانے پر لاجسٹکس، سامان کی نقل و حرکت کا سراغ لگانا؛
  • شناختی کارڈ کے نظام کے مطابق ذاتی ڈیٹا کا ذخیرہ؛
  • تجارتی میدان میں محفوظ لین دین؛
  • طبی معائنے کے نتائج کے ساتھ ساتھ تجویز کردہ طریقہ کار کی تاریخ کو محفوظ کرنا

بلاکچین کے ساتھ مسائل

لیکن، یقینا، سب کچھ اتنا آسان نہیں ہے جتنا یہ لگتا ہے!

بلاکچین میں ڈیٹا کو شامل کرنے سے پہلے اس کی تصدیق کرنے میں مسائل ہیں (مثال کے طور پر، کیا وہ جعلی ہیں؟)، بلاک چین کے ساتھ کام کرنے والے سسٹم اور ایپلیکیشن سافٹ ویئر کی سیکیورٹی کے مسائل، رسائی کو چوری کرنے کے لیے سوشل انجینئرنگ کے طریقے استعمال کرنے کے امکان کے ساتھ مسائل کرپٹو کرنسی والیٹس وغیرہ کو .P.

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

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

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

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

ایک اور مسئلہ یہ ہے کہ Ethereum blockchain پر سمارٹ معاہدے ورچوئل مشینوں کے الگ تھلگ ماحول میں کام کرتے ہیں، اور حقیقی دنیا کے ڈیٹا تک رسائی نہیں رکھتے۔ خاص طور پر، سمارٹ کنٹریکٹ پروگرام بذات خود سائٹس یا کسی بھی فزیکل ڈیوائسز (سینسر، رابطے وغیرہ) سے ڈیٹا نہیں پڑھ سکتا، اور کسی بھی بیرونی ڈیوائسز پر ڈیٹا آؤٹ پٹ نہیں کر سکتا۔ ہم اس مسئلے اور اسے حل کرنے کے طریقوں کے بارے میں ایک سبق میں بحث کریں گے جو کہ نام نہاد اوریکلز - سمارٹ معاہدوں کے معلوماتی ثالثوں کے لیے وقف ہے۔

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

بلاکچین چین کیسے بنتا ہے۔

جیسا کہ ہم پہلے ہی کہہ چکے ہیں، بلاکچین ڈیٹا بلاکس کی ایک سادہ زنجیر ہے۔ پہلے اس زنجیر کا پہلا بلاک بنتا ہے، پھر اس میں دوسرا جوڑا جاتا ہے، وغیرہ۔ لین دین کے ڈیٹا کو بلاکس میں ذخیرہ کرنے کے لیے فرض کیا جاتا ہے، اور اسے حالیہ بلاک میں شامل کیا جاتا ہے۔

تصویر میں 1.1 ہم نے بلاکس کی ترتیب کا سب سے آسان ورژن دکھایا، جہاں پہلا بلاک اگلے سے مراد ہے۔

کتاب "Ethereum blockchain کے لیے سالیڈیٹی سمارٹ معاہدے کی تخلیق۔ عملی رہنما"
چاول۔ 1.1 بلاکس کی سادہ ترتیب

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

آئیے بلاکس کو جعل سازی سے بچانا شروع کریں۔ پہلے مرحلے پر، ہم ہر بلاک کو چیکسم (تصویر 1.2) کے ساتھ محفوظ کرنے کی کوشش کریں گے۔

کتاب "Ethereum blockchain کے لیے سالیڈیٹی سمارٹ معاہدے کی تخلیق۔ عملی رہنما"
چاول۔ 1.2 چیکسم کے ساتھ ان بلاکس کے لیے تحفظ شامل کرنا

اب حملہ آور صرف بلاک کو تبدیل نہیں کر سکتا، کیونکہ اس میں بلاک ڈیٹا کا چیک سم ہوتا ہے۔ چیکسم کو چیک کرنے سے پتہ چلے گا کہ ڈیٹا تبدیل کر دیا گیا ہے۔

چیکسم کا حساب لگانے کے لیے، آپ ہیشنگ فنکشنز میں سے ایک استعمال کر سکتے ہیں جیسے MD-5، SHA-1، SHA-256، وغیرہ۔ ہیش فنکشنز ڈیٹا کے بلاک پر ناقابل واپسی آپریشنز انجام دے کر ایک قدر (مثال کے طور پر مستقل لمبائی کی ٹیکسٹ سٹرنگ) کی گنتی کرتے ہیں۔ آپریشن ہیش فنکشن کی قسم پر منحصر ہے۔

یہاں تک کہ اگر ڈیٹا بلاک کے مواد میں تھوڑا سا بھی تبدیلی آئے تو ہیش ویلیو بھی بدل جائے گی۔ ہیش فنکشن ویلیو کا تجزیہ کرتے ہوئے، اس ڈیٹا بلاک کو دوبارہ بنانا ناممکن ہے جس کے لیے اس کا حساب لگایا گیا تھا۔

کیا ایسا تحفظ کافی ہوگا؟ بد قسمتی سے نہیں.

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

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

کتاب "Ethereum blockchain کے لیے سالیڈیٹی سمارٹ معاہدے کی تخلیق۔ عملی رہنما"
چاول۔ 1.3 پچھلے بلاک کی ہیش کو ڈیٹا بلاک میں شامل کریں۔

اس اسکیم میں، کسی بلاک کو تبدیل کرنے کے لیے، آپ کو بعد کے تمام بلاکس کے ہیش فنکشنز کو دوبارہ گننا ہوگا۔ لگتا ہے، مسئلہ کیا ہے؟

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

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

چونکہ بلاکس پچھلے بلاک کے بارے میں معلومات کو محفوظ کرتے ہیں، اس لیے سلسلہ میں موجود تمام بلاکس کے مواد کو چیک کرنا ممکن ہے۔

ایتھریم بلاکچین

Ethereum blockchain ایک پلیٹ فارم ہے جس پر تقسیم شدہ DApps بنائے جا سکتے ہیں۔ دوسرے پلیٹ فارمز کے برعکس، Ethereum نام نہاد سمارٹ کنٹریکٹس (سمارٹ کنٹریکٹس) کے استعمال کی اجازت دیتا ہے، جو سالیڈٹی پروگرامنگ زبان میں لکھے جاتے ہیں۔

یہ پلیٹ فارم Bitcoin میگزین کے بانی Vitalik Buterin نے 2013 میں بنایا تھا اور 2015 میں لانچ کیا تھا۔ ہم اپنے تربیتی کورس میں جو کچھ بھی مطالعہ کریں گے یا کریں گے اس کا تعلق خاص طور پر Ethereum blockchain اور Solidity کے سمارٹ معاہدوں سے ہے۔

کان کنی یا بلاکس کیسے بنائے جاتے ہیں۔

کان کنی بلاک چین چین میں نئے بلاکس کو شامل کرنے کا ایک پیچیدہ اور وسائل پر مبنی عمل ہے، اور "کریپٹو کرنسی کان کنی" بالکل نہیں۔ کان کنی بلاکچین کی فعالیت کو یقینی بناتی ہے، کیونکہ یہ وہی عمل ہے جو Ethereum blockchain میں لین دین کو شامل کرنے کا ذمہ دار ہے۔

بلاکس کو شامل کرنے میں شامل افراد اور تنظیموں کو کان کن کہا جاتا ہے۔
مائنر نوڈس پر چلنے والا سافٹ ویئر آخری بلاک کے لیے نونس نامی ہیشنگ پیرامیٹر تلاش کرنے کی کوشش کرتا ہے تاکہ نیٹ ورک کے ذریعے مخصوص ہیش ویلیو حاصل کی جا سکے۔ Ethereum میں استعمال ہونے والا Ethash ہیشنگ الگورتھم آپ کو صرف ترتیب وار تلاش کے ذریعے Nonce قدر حاصل کرنے کی اجازت دیتا ہے۔

اگر مائنر نوڈ کو صحیح Nonce ویلیو مل جاتی ہے، تو یہ کام کا نام نہاد ثبوت ہے (PoW, Proof-of-work)۔ اس صورت میں، ایک بلاک Ethereum نیٹ ورک میں شامل کیا جاتا ہے تو، miner نیٹ ورک کرنسی میں ایک مخصوص انعام حاصل کرتا ہے - ایتھر. لکھنے کے وقت، انعام 5 ایتھر ہے، لیکن یہ وقت کے ساتھ کم ہو جائے گا۔

اس طرح، Ethereum کے کان کن بلاکس کا اضافہ کرکے نیٹ ورک کے آپریشن کو یقینی بناتے ہیں، اور اس کے لیے cryptocurrency کی رقم وصول کرتے ہیں۔ آپ کو کان کنوں اور کان کنی کے بارے میں انٹرنیٹ پر بہت سی معلومات ملیں گی، لیکن ہم Ethereum نیٹ ورک پر سولیڈیٹی کنٹریکٹس اور DApps بنانے پر توجہ دیں گے۔

سبق کا خلاصہ

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

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

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

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

سبق 2. Ubuntu اور Debian OS میں کام کرنے کا ماحول تیار کرناآپریٹنگ سسٹم کا انتخاب
ضروری افادیت کو انسٹال کرنا
اوبنٹو پر گیتھ اور سوارم انسٹال کرنا
ڈیبین پر گیتھ اور سوارم انسٹال کرنا
ابتدائی تیاری۔
گو ڈسٹری بیوشن کو ڈاؤن لوڈ کرنا
ماحولیاتی متغیرات کی ترتیب
گو ورژن کی جانچ کر رہا ہے۔
گیتھ اور سوارم کو انسٹال کرنا
ایک نجی بلاکچین بنانا
genesis.json فائل کی تیاری
کام کے لیے ایک ڈائرکٹری بنائیں
کھاتا کھولیں
نوڈ ابتداء شروع کرنا
نوڈ لانچ کے اختیارات
ہمارے نوڈ سے جڑیں۔
کان کنی کا انتظام اور بیلنس چیک
گیتھ کنسول کو بند کیا جا رہا ہے۔
سبق کا خلاصہ

سبق 3۔ Raspberry Pi 3 پر کام کے ماحول کی تیاریکام کے لیے Raspberry Pi 3 کی تیاری
راسبیرین انسٹال کرنا
اپ ڈیٹس انسٹال کرنا
SSH رسائی کو فعال کرنا
ایک جامد IP ایڈریس ترتیب دینا
ضروری افادیت کو انسٹال کرنا
گو انسٹال ہو رہا ہے۔
گو ڈسٹری بیوشن کو ڈاؤن لوڈ کرنا
ماحولیاتی متغیرات کی ترتیب
گو ورژن کی جانچ کر رہا ہے۔
گیتھ اور سوارم کو انسٹال کرنا
ایک نجی بلاکچین بنانا
آپ کا اکاؤنٹ اور بیلنس چیک کرنا
سبق کا خلاصہ

سبق 4۔ اکاؤنٹس اور اکاؤنٹس کے درمیان رقوم کی منتقلیاکاؤنٹس دیکھیں اور شامل کریں۔
اکاؤنٹس کی فہرست دیکھیں
ایک اکاؤنٹ شامل کرنا
گیتھ اکاؤنٹ کمانڈ کے اختیارات
اکاؤنٹ کے پاس ورڈز
Ethereum میں کریپٹو کرنسی
Ethereum کرنسی یونٹس
ہم اپنے کھاتوں کے موجودہ بیلنس کا تعین کرتے ہیں۔
ایک اکاؤنٹ سے دوسرے اکاؤنٹ میں فنڈز منتقل کریں۔
طریقہ eth.sendTransaction
لین دین کی صورتحال دیکھیں
لین دین کی رسید
سبق کا خلاصہ

سبق 5۔ اپنا پہلا معاہدہ شائع کرناEthereum میں سمارٹ معاہدے
سمارٹ معاہدے پر عمل درآمد
ایتھریم ورچوئل مشین
مربوط ترقیاتی ماحول ریمکس سولیڈیٹی IDE
تالیف چل رہی ہے۔
معاہدہ کے افعال کو کال کرنا
نجی نیٹ ورک پر معاہدہ شائع کرنا
ABI کی تعریف اور معاہدہ بائنری کوڈ حاصل کرنا
معاہدے کی اشاعت
معاہدے کی اشاعت کی لین دین کی حیثیت کی جانچ کر رہا ہے۔
معاہدہ کے افعال کو کال کرنا
بیچ کمپائلر سولک
اوبنٹو پر سولک انسٹال کرنا
ڈیبین پر سولک انسٹال کرنا
HelloSol معاہدہ مرتب کرنا
معاہدے کی اشاعت
راسبیرین پر سولک انسٹال کرنا
سبق کا خلاصہ

سبق 6۔ اسمارٹ معاہدے اور Node.jsNode.js انسٹال کرنا
اوبنٹو پر انسٹالیشن
ڈیبین پر انسٹالیشن
Ganache-cli کو انسٹال اور چلانا
ویب 3 کی تنصیب
solc انسٹال کرنا
Rasberian پر Node.js انسٹال کرنا
کنسول میں اکاؤنٹس کی فہرست حاصل کرنے کے لیے اسکرپٹ
سمارٹ کنٹریکٹ شائع کرنے کا اسکرپٹ
شروع کریں اور پیرامیٹرز حاصل کریں۔
لانچ کے اختیارات حاصل کرنا
معاہدہ تالیف
آپ کے اکاؤنٹ کو غیر مسدود کرنا
ABI اور معاہدہ بائنری کوڈ لوڈ ہو رہا ہے۔
گیس کی مطلوبہ مقدار کا تخمینہ لگانا
ایک آبجیکٹ بنائیں اور ایک معاہدہ شائع کرنا شروع کریں۔
کنٹریکٹ پبلشنگ اسکرپٹ چلانا
سمارٹ کنٹریکٹ فنکشنز کو کال کرنا
کیا شائع شدہ سمارٹ کنٹریکٹ کو اپ ڈیٹ کرنا ممکن ہے؟
Web3 ورژن 1.0.x کے ساتھ کام کرنا
اکاؤنٹس کی فہرست حاصل کرنا
معاہدے کی اشاعت
معاہدہ کے افعال کو کال کرنا
ایک اکاؤنٹ سے دوسرے اکاؤنٹ میں فنڈز منتقل کریں۔
کنٹریکٹ اکاؤنٹ میں فنڈز منتقل کریں۔
HelloSol سمارٹ کنٹریکٹ کو اپ ڈیٹ کرنا
اپنے اکاؤنٹ کا بیلنس دیکھنے کے لیے ایک اسکرپٹ بنائیں
call_contract_get_promise.js اسکرپٹ میں getBalance فنکشن میں کال شامل کریں
ہم سمارٹ کنٹریکٹ اکاؤنٹ کو ٹاپ اپ کرتے ہیں۔
سبق کا خلاصہ

سبق 7. ٹرفل کا تعارفٹرفل انسٹال کرنا
ہیلو سول پروجیکٹ بنائیں
پروجیکٹ ڈائرکٹری اور فائلیں بنانا
معاہدوں کی ڈائرکٹری
کیٹلاگ منتقلی
ڈائرکٹری ٹیسٹ
truffle-config.js فائل
HelloSol معاہدہ مرتب کرنا
ایک معاہدہ شائع کرنا شروع کریں۔
ہیلو سول کنٹریکٹ فنکشنز کو ٹرفل پرامپٹ میں کال کرنا
Node.js چلانے والے JavaScript اسکرپٹ سے HelloSol معاہدے کے افعال کو کال کرنا
ٹرفل کنٹریکٹ ماڈیول انسٹال کرنا
معاہدے کے افعال کو کال کرنا getValue اور getString
کالنگ کنٹریکٹ فنکشنز setValue اور setString
معاہدے میں ترمیم اور دوبارہ اشاعت
Web3 ورژن 1.0.x کے ساتھ کام کرنا
HelloSol سمارٹ کنٹریکٹ میں تبدیلیاں کرنا
معاہدے کے طریقوں کو کال کرنے کے لئے اسکرپٹ
ٹرفل میں ٹیسٹنگ
سالیڈیٹی ٹیسٹ
جاوا اسکرپٹ ٹیسٹ
سبق کا خلاصہ

سبق 8۔ سالیڈیٹی ڈیٹا کی اقسامڈیٹا کی اقسام سیکھنے کا معاہدہ
بولین ڈیٹا کی اقسام
غیر دستخط شدہ عدد اور دستخط شدہ عدد
فکسڈ پوائنٹ نمبر
ایڈریس
پیچیدہ اقسام کے متغیرات
فکسڈ سائز اری
متحرک صفیں
گنتی
ساخت
ڈکشنریوں کی نقشہ سازی۔
سبق کا خلاصہ

سبق 9۔ معاہدوں کی نجی نیٹ ورک اور رنکیبی نیٹ ورک پر منتقلیٹرفل سے نجی گیتھ نیٹ ورک پر ایک معاہدہ شائع کرنا
نجی نیٹ ورک نوڈ کی تیاری
کام کے لیے معاہدہ کی تیاری
ٹرفل نیٹ ورک پر معاہدہ مرتب کرنا اور منتقل کرنا
مقامی نیٹ ورک کی منتقلی شروع ہو رہی ہے۔
ٹرفل کے نمونے حاصل کرنا
Truffle سے Rinkeby testnet تک ایک معاہدہ شائع کرنا
رنکیبی کے ساتھ کام کرنے کے لیے گیتھ نوڈ کی تیاری
نوڈ سنکرونائزیشن
اکاؤنٹس شامل کرنا
ایتھر کے ساتھ اپنے Rinkeby اکاؤنٹ کو اوپر کرنا
Rinkeby نیٹ ورک پر کنٹریکٹ کی منتقلی شروع کرنا
Rinkeby نیٹ ورک پر معاہدے کی معلومات دیکھنا
رنکیبی نیٹ ورک کے لیے ٹرفل کنسول
معاہدے کے افعال کو کال کرنے کا آسان طریقہ
Node.js کا استعمال کرتے ہوئے معاہدے کے طریقوں کو کال کرنا
Rinkby کے لیے Truffle کنسول میں اکاؤنٹس کے درمیان فنڈز منتقل کریں۔
سبق کا خلاصہ

سبق 10۔ ایتھریم سوارم ڈی سینٹرلائزڈ ڈیٹا اسٹوریجEthereum Swarm کیسے کام کرتا ہے؟
سوارم کو انسٹال اور لانچ کرنا
فائلوں اور ڈائریکٹریوں کے ساتھ آپریشنز
Ethereum Swarm پر فائل اپ لوڈ کرنا
Ethereum Swarm سے فائل پڑھنا
اپ لوڈ کردہ فائل کا مینی فیسٹ دیکھیں
ذیلی ڈائریکٹریوں کے ساتھ ڈائریکٹریز لوڈ ہو رہی ہیں۔
ڈاؤن لوڈ کردہ ڈائرکٹری سے فائل پڑھنا
عوامی سوارم گیٹ وے کا استعمال
Node.js اسکرپٹس سے سوارم تک رسائی حاصل کرنا
پرل نیٹ::ایتھریم::سوارم ماڈیول
Net::Ethereum::Swarm ماڈیول انسٹال کرنا
ڈیٹا لکھنا اور پڑھنا
سبق کا خلاصہ

سبق 11. Python میں Ethereum کے ساتھ کام کرنے کے لیے Web3.py فریم ورکWeb3.py انسٹال کرنا
ضروری پیکجوں کو اپ ڈیٹ اور انسٹال کرنا
ایزیسولک ماڈیول انسٹال کرنا
Web3.py کا استعمال کرتے ہوئے ایک معاہدہ شائع کرنا
معاہدہ تالیف
فراہم کنندہ سے منسلک ہو رہا ہے۔
معاہدے کی اشاعت پر عمل کریں۔
کنٹریکٹ ایڈریس اور ابی کو فائل میں محفوظ کرنا
کنٹریکٹ پبلشنگ اسکرپٹ چلانا
کالنگ کنٹریکٹ کے طریقے
JSON فائل سے معاہدے کا پتہ اور abi پڑھنا
فراہم کنندہ سے منسلک ہو رہا ہے۔
معاہدہ آبجیکٹ بنانا
کالنگ کنٹریکٹ کے طریقے
Truffle اور Web3.py
سبق کا خلاصہ

سبق 12۔ اوریکلزکیا کوئی سمارٹ کنٹریکٹ بیرونی دنیا کے ڈیٹا پر بھروسہ کر سکتا ہے؟
اوریکلز بطور بلاکچین انفارمیشن ثالث
ڈیٹا کا ذریعہ
ماخذ سے ڈیٹا کی نمائندگی کرنے کے لیے کوڈ
بلاکچین میں ایکسچینج ریٹ ریکارڈ کرنے کے لیے اوریکل
USDRateOracle معاہدہ
سمارٹ کنٹریکٹ میں زر مبادلہ کی شرح کو اپ ڈیٹ کرنا
ویب ساکٹ فراہم کنندہ کا استعمال
RateUpdate ایونٹ کا انتظار کر رہا ہے۔
RateUpdate ایونٹ کو ہینڈل کرنا
سمارٹ کنٹریکٹ میں ڈیٹا اپ ڈیٹ شروع کرنا
سبق کا خلاصہ

ماخذ: www.habr.com

نیا تبصرہ شامل کریں