Ethereum স্ট্যাকের ভূমিকা
পৃষ্ঠাটি সর্বশেষ আপডেট করা হয়েছে: ২১ অক্টোবর, ২০২৫
যেকোনও সফটওয়্যার স্ট্যাকের মতোই, আপনার লক্ষ্যের উপর নির্ভর করে সম্পূর্ণ "Ethereum স্ট্যাক" প্রজেক্ট থেকে প্রজেক্টে ভিন্ন হবে।
তবে, Ethereum-এর মূল উপাদান রয়েছে যা সফটওয়্যার অ্যাপ্লিকেশনগুলি কীভাবে Ethereum ব্লকচেইনের সাথে ইন্টারঅ্যাক্ট করে তার জন্য একটি মানসিক মডেল প্রদান করতে সহায়তা করে। স্ট্যাকের লেয়ারগুলি বোঝা আপনাকে সেই বিভিন্ন উপায়গুলি বুঝতে সাহায্য করবে যার মাধ্যমে Ethereum সফ্টওয়্যার প্রজেক্টগুলিতে একত্রিত করা যেতে পারে।
স্তর 1: Ethereum ভার্চুয়াল মেশিন
Ethereum ভার্চুয়াল মেশিন (EVM) হলো Ethereum-এ স্মার্ট কন্ট্র্যাক্টের জন্য রানটাইম এনভায়রনমেন্ট। Ethereum ব্লকচেইনের সমস্ত স্মার্ট কন্ট্র্যাক্ট এবং অবস্থার পরিবর্তন ট্রানজ্যাকশন দ্বারা নির্বাহ করা হয়। EVM, Ethereum নেটওয়ার্কের সমস্ত ট্রানজ্যাকশন প্রসেসিং পরিচালনা করে।
যেকোনো ভার্চুয়াল মেশিনের মতোই, EVM এক্সিকিউটিং কোড এবং এক্সিকিউটিং মেশিন (একটি Ethereum নোড) এর মধ্যে একটি অ্যাবস্ট্র্যাকশন লেভেল তৈরি করে। বর্তমানে, EVM বিশ্বজুড়ে বিতরণ করা হাজার হাজার নোডে চলছে।
ভিতরে ভিতরে, EVM নির্দিষ্ট কাজ সম্পাদন করার জন্য অপকোড নির্দেশাবলীর একটি সেট ব্যবহার করে। এই (140টি অনন্য) অপকোডগুলি EVM-কে Turing-complete (opens in a new tab) হতে দেয়, যার মানে হল পর্যাপ্ত রিসোর্স থাকলে EVM প্রায় যেকোনো কিছু গণনা করতে সক্ষম।
একজন ডিএ্যাপ ডেভেলপার হিসেবে, আপনার EVM সম্পর্কে এর অস্তিত্ব এবং এটি ডাউনটাইম ছাড়াই নির্ভরযোগ্যভাবে Ethereum-এর সমস্ত অ্যাপ্লিকেশনকে শক্তি জোগায়, এর বাইরে খুব বেশি কিছু জানার দরকার নেই।
স্তর 2: স্মার্ট কন্ট্র্যাক্ট
স্মার্ট কন্ট্র্যাক্ট হলো এক্সিকিউটেবল প্রোগ্রাম যা Ethereum ব্লকচেইনে চলে।
স্মার্ট কন্ট্র্যাক্টগুলি নির্দিষ্ট প্রোগ্রামিং ভাষা ব্যবহার করে লেখা হয় যা EVM বাইটকোডে (অপকোড নামক নিম্ন-স্তরের মেশিন নির্দেশাবলী) কম্পাইল হয়।
স্মার্ট কন্ট্র্যাক্টগুলি কেবল ওপেন সোর্স লাইব্রেরি হিসেবেই কাজ করে না, তারা মূলত ওপেন API পরিষেবা যা সর্বদা চালু থাকে এবং বন্ধ করা যায় না। স্মার্ট কন্ট্র্যাক্টগুলি পাবলিক ফাংশন সরবরাহ করে যার সাথে ব্যবহারকারী এবং অ্যাপ্লিকেশনগুলি (ডিএ্যাপস) অনুমতি ছাড়াই ইন্টারঅ্যাক্ট করতে পারে। যেকোনো অ্যাপ্লিকেশন ফাংশনালিটি কম্পোজ করার জন্য ডিপ্লয় করা স্মার্ট কন্ট্র্যাক্টের সাথে ইন্টিগ্রেট করতে পারে, যেমন ডেটা ফিড যোগ করা বা টোকেন সোয়াপ সমর্থন করা। এছাড়াও, যে কেউ তাদের অ্যাপ্লিকেশনের প্রয়োজন মেটাতে কাস্টম ফাংশনালিটি যোগ করার জন্য Ethereum-এ নতুন স্মার্ট কন্ট্র্যাক্ট ডিপ্লয় করতে পারে।
একজন ডিএ্যাপ ডেভেলপার হিসেবে, আপনি যদি Ethereum ব্লকচেইনে কাস্টম ফাংশনালিটি যোগ করতে চান তবেই আপনাকে স্মার্ট কন্ট্র্যাক্ট লিখতে হবে। আপনি হয়তো দেখবেন যে আপনি শুধুমাত্র বিদ্যমান স্মার্ট কন্ট্র্যাক্টগুলির সাথে ইন্টিগ্রেট করেই আপনার প্রজেক্টের বেশিরভাগ বা সমস্ত প্রয়োজন পূরণ করতে পারেন, উদাহরণস্বরূপ যদি আপনি স্টেবলকয়েনে পেমেন্ট সমর্থন করতে চান বা টোকেনের ডিসেন্ট্রালাইজড এক্সচেঞ্জ সক্ষম করতে চান।
স্তর 3: Ethereum নোড
একটি অ্যাপ্লিকেশনের Ethereum ব্লকচেইনের সাথে ইন্টারঅ্যাক্ট করার জন্য, এটিকে অবশ্যই একটি Ethereum নোডের সাথে সংযোগ স্থাপন করতে হবে। একটি নোডের সাথে সংযোগ স্থাপন করলে আপনি ব্লকচেইন ডেটা পড়তে এবং/অথবা নেটওয়ার্কে ট্রানজ্যাকশন পাঠাতে পারবেন।
Ethereum নোড হলো সফটওয়্যার চালিত কম্পিউটার - একটি Ethereum ক্লায়েন্ট। একটি ক্লায়েন্ট হলো Ethereum-এর একটি বাস্তবায়ন যা প্রতিটি ব্লকের সমস্ত ট্রানজ্যাকশন যাচাই করে, নেটওয়ার্ককে সুরক্ষিত এবং ডেটাকে নির্ভুল রাখে। Ethereum নোডগুলিই হলো Ethereum ব্লকচেইন। তারা সম্মিলিতভাবে Ethereum ব্লকচেইনের অবস্থা সংরক্ষণ করে এবং ব্লকচেইনের অবস্থা পরিবর্তন করার জন্য ট্রানজ্যাকশনের উপর কনসেন্সাসে পৌঁছায়।
আপনার অ্যাপ্লিকেশনটিকে একটি Ethereum নোডের সাথে (JSON-RPC API এর মাধ্যমে) সংযোগ করে, আপনার অ্যাপ্লিকেশনটি ব্লকচেইন থেকে ডেটা পড়তে (যেমন ব্যবহারকারী অ্যাকাউন্টের ব্যালেন্স) এবং নেটওয়ার্কে নতুন ট্রানজ্যাকশন ব্রডকাস্ট করতে (যেমন ব্যবহারকারী অ্যাকাউন্টগুলির মধ্যে ETH স্থানান্তর করা বা স্মার্ট কন্ট্র্যাক্টের ফাংশনগুলি এক্সিকিউট করা) সক্ষম হয়।
স্তর 4: Ethereum ক্লায়েন্ট API
অনেক সুবিধাজনক লাইব্রেরি (Ethereum-এর ওপেন সোর্স কমিউনিটি দ্বারা নির্মিত এবং রক্ষণাবেক্ষণ করা) আপনার অ্যাপ্লিকেশনগুলিকে Ethereum ব্লকচেইনের সাথে সংযোগ স্থাপন এবং যোগাযোগ করতে দেয়।
যদি আপনার ব্যবহারকারী-মুখী অ্যাপ্লিকেশনটি একটি ওয়েব অ্যাপ হয়, আপনি সরাসরি আপনার ফ্রন্টএন্ডে একটি JavaScript API npm install করতে পারেন। অথবা হয়তো আপনি একটি Python বা Java API ব্যবহার করে এই ফাংশনালিটি সার্ভার-সাইডে বাস্তবায়ন করতে পছন্দ করবেন।
যদিও এই API-গুলি স্ট্যাকের একটি অপরিহার্য অংশ নয়, তবে তারা সরাসরি একটি Ethereum নোডের সাথে ইন্টারঅ্যাক্ট করার অনেক জটিলতাকে অ্যাবস্ট্রাক্ট করে। তারা ইউটিলিটি ফাংশনও (যেমন, ETH-কে Gwei-তে রূপান্তর করা) সরবরাহ করে, তাই একজন ডেভেলপার হিসেবে আপনি Ethereum ক্লায়েন্টের জটিলতা নিয়ে কম সময় ব্যয় করতে পারেন এবং আপনার অ্যাপ্লিকেশনের নির্দিষ্ট ফাংশনালিটির উপর বেশি সময় মনোযোগ দিতে পারেন।
স্তর 5: এন্ড-ইউজার অ্যাপ্লিকেশন
স্ট্যাকের সর্বোচ্চ স্তরে রয়েছে ব্যবহারকারী-মুখী অ্যাপ্লিকেশন। এগুলি হলো স্ট্যান্ডার্ড অ্যাপ্লিকেশন যা আপনি আজ নিয়মিত ব্যবহার করেন এবং তৈরি করেন: প্রাথমিকভাবে ওয়েব এবং মোবাইল অ্যাপ।
আপনি যেভাবে এই ইউজার ইন্টারফেসগুলি ডেভেলপ করেন তা মূলত অপরিবর্তিত থাকে। প্রায়শই ব্যবহারকারীদের জানার প্রয়োজন হবে না যে তারা যে অ্যাপ্লিকেশনটি ব্যবহার করছে তা একটি ব্লকচেইন ব্যবহার করে তৈরি করা হয়েছে।
আপনার স্ট্যাক বেছে নিতে প্রস্তুত?
আপনার Ethereum অ্যাপ্লিকেশনের জন্য একটি লোকাল ডেভেলপমেন্ট এনভায়রনমেন্ট সেট আপ করতে আমাদের গাইডটি দেখুন।
আরও পড়ুন
- একটি ওয়েব 3.0 অ্যাপ্লিকেশনের আর্কিটেকচার (opens in a new tab) - প্রীতি কাসিরেড্ডি
এমন কোনো কমিউনিটি রিসোর্স সম্পর্কে জানেন যা আপনাকে সাহায্য করেছে? এই পৃষ্ঠাটি সম্পাদনা করুন এবং এটি যোগ করুন!