ব্লকচেইন আয়ত্ত করা পার্ট 2 - প্লাটোব্লকচেন ডেটা ইন্টেলিজেন্স বাস্তবায়ন। উল্লম্ব অনুসন্ধান. আই.

ব্লকচেইন আয়ত্ত করা পার্ট 2 - বাস্তবায়ন

পূর্বরন্দী

নিবন্ধগুলির এই সিরিজে, আমরা একটি সরলীকৃত ক্রিপ্টোকারেন্সি তৈরি করব যা গোলং-এ 5 মিনিটেরও কম সময়ে সহজ ব্লকচেইন বাস্তবায়নের উপর ভিত্তি করে। এই প্রকল্পটি তৈরি করতে আপনাকে প্রথমে গোলং ইনস্টল করতে হবে। পাঠ্য সম্পাদকের জন্য আপনি যে কোনও কিছু ব্যবহার করতে পারেন, এখানে আমি ভিজ্যুয়াল স্টুডিও কোড ব্যবহার করি।

ব্লকচেইন আয়ত্ত করা পার্ট 2 - প্লাটোব্লকচেন ডেটা ইন্টেলিজেন্স বাস্তবায়ন। উল্লম্ব অনুসন্ধান. আই.
সূত্র: বিট ডিগ্রি

আপনি এটা ইনস্টল করেছেন? ঠিক আছে, এটা করা যাক!

আপনি যদি প্রকল্পটি তৈরি করেন তবে একটি ফাইল তৈরি করুন main.go oke কোড করি, প্রথমে আমরা main.go থেকে শুরু করব "blockchain" এর struct ব্লক অংশ দিয়ে শুরু করি। ব্লকচেইনে, এটি ব্লক করে যা মূল্যবান তথ্য সঞ্চয় করে। উদাহরণস্বরূপ, বিটকয়েন ব্লক স্টোর লেনদেন, যে কোনো ক্রিপ্টোকারেন্সির সারাংশ। এটি ছাড়াও, একটি ব্লকে কিছু প্রযুক্তিগত তথ্য থাকে, যেমন এর সংস্করণ, বর্তমান টাইমস্ট্যাম্প এবং পূর্ববর্তী ব্লকের হ্যাশ। এই নিবন্ধে আমরা ব্লককে বাস্তবায়ন করতে যাচ্ছি না যেমনটি ব্লকচেইন বা বিটকয়েন স্পেসিফিকেশনে বর্ণিত হয়েছে, পরিবর্তে, আমরা এটির একটি সরলীকৃত সংস্করণ ব্যবহার করব, যাতে শুধুমাত্র উল্লেখযোগ্য তথ্য রয়েছে। এটি দেখতে কেমন তা এখানে। এখানে আমাদের একটি struct ব্লক আছে:

টাইপ করুন ব্লক গঠন {

Timestamp বর্তমান টাইমস্ট্যাম্প (যখন ব্লক তৈরি করা হয়), transactions ব্লকে থাকা প্রকৃত মূল্যবান তথ্য, prevhas পূর্ববর্তী ব্লকের হ্যাশ সংরক্ষণ করে, এবং Hash ব্লকের হ্যাশ। বিটকয়েন স্পেসিফিকেশনে Timestamp, prevhash, এবং Hash ব্লক হেডার, যা একটি পৃথক ডেটা কাঠামো গঠন করে এবং লেনদেন (transaction আমাদের ক্ষেত্রে) একটি পৃথক ডেটা কাঠামো। তাই আমরা তাদের সরলতার জন্য এখানে মিশ্রিত করছি।

তাহলে কিভাবে আমরা হ্যাশ গণনা করব? যেভাবে হ্যাশ গণনা করা হয় তা হল ব্লকচেইনের একটি অত্যন্ত গুরুত্বপূর্ণ বৈশিষ্ট্য, এবং এই বৈশিষ্ট্যটিই ব্লকচেইনকে সুরক্ষিত করে তোলে। জিনিসটি হল যে হ্যাশ গণনা করা একটি গণনাগতভাবে কঠিন অপারেশন, এটি এমনকি দ্রুত কম্পিউটারেও কিছু সময় নেয় (তাই মানুষ বিটকয়েনের জন্য শক্তিশালী জিপিইউ কিনে থাকে)। এটি একটি ইচ্ছাকৃত আর্কিটেকচারাল ডিজাইন, যা নতুন ব্লক যোগ করা কঠিন করে তোলে, এইভাবে সেগুলি যোগ করার পরে তাদের পরিবর্তন রোধ করে। আমরা ভবিষ্যতে একটি নিবন্ধে এই প্রক্রিয়াটি নিয়ে আলোচনা করব এবং প্রয়োগ করব।

আপাতত, আমরা শুধু ব্লক ক্ষেত্রগুলি নেব, সেগুলিকে সংযুক্ত করব এবং সংযোজিত সংমিশ্রণে একটি SHA-256 হ্যাশ গণনা করব৷ এর মধ্যে এটি করা যাক Newhash পদ্ধতি:

func NewHash(সময় সময়। সময়, লেনদেন []স্ট্রিং, প্রিভ্যাশ []বাইট) []বাইট {

এর পরে, একটি গোলং কনভেনশন অনুসরণ করে, আমরা একটি ফাংশন বাস্তবায়ন করব যা একটি ব্লক তৈরি এবং সমাপ্তি সহজ করবে:

func ব্লক (লেনদেন []স্ট্রিং, প্রিভ্যাশ []বাইট) *ব্লক {

আমরা একটি মুদ্রণ ফাংশন তৈরি করতে থাকি। প্রিন্ট ফাংশন প্রতিটি ব্লকের বিষয়বস্তু মুদ্রণের জন্য দরকারী যা একটি লেনদেন করে। এখানে কোড আছে:

func প্রিন্ট (ব্লক *ব্লক) {

এবং মুদ্রণ লেনদেনের জন্য ফাংশন লেনদেন:

ফাংশন লেনদেন (ব্লক *ব্লক) {

সমস্ত প্রয়োজনীয় ফাংশন সম্পন্ন হওয়ার পরে আমরা এটি প্রধান ফাংশনে ব্যবহার করব:

func main() {

ঠিক আছে সমস্ত কোড আমরা লেখা শেষ করেছি। টার্মিনালে go run main.go লিখে রান করা যাক। আউটপুট:

উপসংহার

আমরা একটি খুব সাধারণ ব্লকচেইন প্রোটোটাইপ তৈরি করেছি: এটি ব্লকের একটি অ্যারে, প্রতিটি ব্লকের সাথে আগেরটির সংযোগ রয়েছে। প্রকৃত ব্লকচেইন যদিও অনেক বেশি জটিল। আমাদের ব্লকচেইনে নতুন ব্লক যোগ করা সহজ এবং দ্রুত, কিন্তু প্রকৃত ব্লকচেইনে নতুন ব্লক যোগ করার জন্য কিছু কাজের প্রয়োজন: ব্লক যোগ করার অনুমতি পাওয়ার আগে একজনকে কিছু ভারী গণনা করতে হবে (এই প্রক্রিয়াটিকে প্রুফ-অফ-ওয়ার্ক বলা হয়)। এছাড়াও, ব্লকচেইন একটি বিতরণ করা ডাটাবেস যার কোনো একক সিদ্ধান্ত গ্রহণকারী নেই। এইভাবে, একটি নতুন ব্লক নিশ্চিত করতে হবে এবং নেটওয়ার্কের অন্যান্য অংশগ্রহণকারীদের দ্বারা অনুমোদিত হতে হবে (এই প্রক্রিয়াটিকে ঐক্যমত বলা হয়)। এবং আমাদের ব্লকচেইনে এখনও কোন লেনদেন নেই!

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

সময় স্ট্যাম্প:

থেকে আরো মধ্যম