بغیر کسی وقت کے بلاک چین میں مہارت حاصل کرنا حصہ 2 - پلیٹو بلاکچین ڈیٹا انٹیلی جنس پر عمل درآمد۔ عمودی تلاش۔ عی

بغیر کسی وقت کے بلاک چین میں مہارت حاصل کرنا حصہ 2 - نفاذ

پوربرینڈی

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

بغیر کسی وقت کے بلاک چین میں مہارت حاصل کرنا حصہ 2 - پلیٹو بلاکچین ڈیٹا انٹیلی جنس پر عمل درآمد۔ عمودی تلاش۔ عی
ماخذ: بٹ ڈگری

کیا آپ نے اسے انسٹال کیا؟ ٹھیک ہے، چلو کرتے ہیں!

اگر آپ نے پروجیکٹ بنایا ہے تو ایک فائل بنائیں main.go oke lets code، پہلے ہم main.go سے شروع کریں گے آئیے "blockchain" کے struct Block حصے سے شروع کرتے ہیں۔ بلاکچین میں، یہ بلاک کرتا ہے جو قیمتی معلومات کو محفوظ کرتا ہے۔ مثال کے طور پر، Bitcoin بلاکس اسٹور ٹرانزیکشنز، کسی بھی cryptocurrency کا جوہر. اس کے علاوہ، ایک بلاک میں کچھ تکنیکی معلومات ہوتی ہیں، جیسے اس کا ورژن، موجودہ ٹائم اسٹیمپ، اور پچھلے بلاک کی ہیش۔ اس مضمون میں ہم اس بلاک کو نافذ نہیں کریں گے جیسا کہ اسے بلاکچین یا بٹ کوائن کی خصوصیات میں بیان کیا گیا ہے، اس کے بجائے، ہم اس کا ایک آسان ورژن استعمال کریں گے، جس میں صرف اہم معلومات شامل ہیں۔ یہ کیسا لگتا ہے۔ یہاں ہمارے پاس ایک ڈھانچہ بلاک ہے:

قسم بلاک ساخت {

Timestamp موجودہ ٹائم اسٹیمپ ہے (جب بلاک بن جاتا ہے) transactions بلاک میں موجود اصل قیمتی معلومات ہے، prevhas پچھلے بلاک کی ہیش کو اسٹور کرتا ہے، اور Hash بلاک کی ہیش ہے۔ Bitcoin تفصیلات میں Timestamp, prevhash، اور Hash بلاک ہیڈر ہیں، جو ایک علیحدہ ڈیٹا ڈھانچہ بناتے ہیں، اور لین دین (transaction ہمارے معاملے میں) ایک علیحدہ ڈیٹا ڈھانچہ ہے۔ تو ہم انہیں یہاں سادگی کے لیے ملا رہے ہیں۔

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

ابھی کے لیے، ہم صرف بلاک فیلڈز لیں گے، ان کو جوڑیں گے، اور مربوط امتزاج پر SHA-256 ہیش کا حساب لگائیں گے۔ آئیے اس میں کرتے ہیں۔ Newhash طریقہ:

فنک نیو ہیش (ٹائم ٹائم۔ ٹائم، ٹرانزیکشن []سٹرنگ، پریوایش []بائٹ) []بائٹ {

اگلا، گولانگ کنونشن کے بعد، ہم ایک ایسا فنکشن نافذ کریں گے جو بلاک کی تخلیق کو آسان بنائے گا اور ختم کرے گا:

فنک بلاکس

ہم ایک پرنٹ فنکشن بناتے رہتے ہیں۔ پرنٹ فنکشن ہر بلاک کے مواد کو پرنٹ کرنے کے لیے مفید ہے جو ٹرانزیکشن کرتا ہے۔ یہاں کوڈ ہے:

func پرنٹ (بلاک *بلاک) {

اور پرنٹ ٹرانزیکشن کے لیے فنکشن ٹرانزیکشن:

فنک ٹرانزیکشن (بلاک *بلاک) {

تمام مطلوبہ فنکشنز مکمل ہونے کے بعد ہم اسے مین فنکشن میں استعمال کریں گے۔

فنک مین () {

ٹھیک ہے تمام کوڈ ہم نے لکھنا ختم کر دیا ہے۔ چلو ٹرمینل میں go run main.go ٹائپ کرکے اسے چلاتے ہیں۔ آؤٹ پٹ:

نتیجہ

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

Source: https://medium.com/@purbaryandi/mastering-blockchain-in-no-time-part-2-implementation-433dc7967fe8?source=rss——cryptocurrency-5

ٹائم اسٹیمپ:

سے زیادہ درمیانہ