মূল কন্টেন্টে যান
Change page

ইথেরিয়াম স্ট্যাকের পরিচিতি

যেকোনো সফটওয়্যার স্ট্যাকের মতো, সম্পূর্ণ "ইথেরিয়াম স্ট্যাক" আপনার লক্ষ্যের ওপর ভিত্তি করে প্রজেক্ট থেকে প্রজেক্টে ভিন্ন হবে।

তবে, ইথেরিয়ামের কিছু মূল উপাদান রয়েছে যা সফটওয়্যার অ্যাপ্লিকেশনগুলো কীভাবে ইথেরিয়াম ব্লকচেইনের সাথে ইন্টারঅ্যাক্ট করে তার একটি মানসিক মডেল প্রদান করতে সাহায্য করে। স্ট্যাকের স্তরগুলো বুঝতে পারলে আপনি বুঝতে পারবেন কীভাবে ইথেরিয়ামকে বিভিন্ন উপায়ে সফটওয়্যার প্রজেক্টে একীভূত করা যায়।

লেভেল 1: ইথেরিয়াম ভার্চুয়াল মেশিন

ইথেরিয়াম ভার্চুয়াল মেশিন (EVM) হলো ইথেরিয়ামে স্মার্ট কন্ট্রাক্টের রানটাইম পরিবেশ। ইথেরিয়াম ব্লকচেইনে সমস্ত স্মার্ট কন্ট্রাক্ট এবং স্টেট পরিবর্তনগুলো ট্রানজ্যাকশন দ্বারা কার্যকর করা হয়। EVM ইথেরিয়াম নেটওয়ার্কের সমস্ত ট্রানজ্যাকশন প্রসেসিং পরিচালনা করে।

যেকোনো ভার্চুয়াল মেশিনের মতো, EVM এক্সিকিউটিং কোড এবং এক্সিকিউটিং মেশিনের (একটি ইথেরিয়াম নোড) মধ্যে একটি অ্যাবস্ট্রাকশন স্তর তৈরি করে। বর্তমানে, EVM বিশ্বজুড়ে ছড়িয়ে থাকা হাজার হাজার নোডে চলছে।

অভ্যন্তরীণভাবে, EVM নির্দিষ্ট কাজগুলো সম্পাদন করতে অপকোড নির্দেশাবলীর একটি সেট ব্যবহার করে। এই (140টি অনন্য) অপকোডগুলো EVM-কে টুরিং-কমপ্লিট (opens in a new tab) হতে দেয়, যার মানে হলো পর্যাপ্ত রিসোর্স দেওয়া হলে EVM প্রায় যেকোনো কিছু গণনা করতে সক্ষম।

একজন বিকেন্দ্রীকৃত অ্যাপ্লিকেশন (dapp) ডেভেলপার হিসেবে, আপনার EVM সম্পর্কে খুব বেশি কিছু জানার প্রয়োজন নেই, শুধু এটুকু জানলেই হবে যে এর অস্তিত্ব রয়েছে এবং এটি কোনো ডাউনটাইম ছাড়াই ইথেরিয়ামের সমস্ত অ্যাপ্লিকেশনকে নির্ভরযোগ্যভাবে শক্তি জোগায়।

লেভেল 2: স্মার্ট কন্ট্রাক্ট

স্মার্ট কন্ট্রাক্ট হলো এক্সিকিউটেবল প্রোগ্রাম যা ইথেরিয়াম ব্লকচেইনে চলে।

স্মার্ট কন্ট্রাক্টগুলো নির্দিষ্ট প্রোগ্রামিং ভাষা ব্যবহার করে লেখা হয় যা EVM বাইটকোড-এ (অপকোড নামক লো-লেভেল মেশিন নির্দেশাবলী) কম্পাইল হয়।

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

একজন dapp ডেভেলপার হিসেবে, আপনাকে কেবল তখনই স্মার্ট কন্ট্রাক্ট লিখতে হবে যদি আপনি ইথেরিয়াম ব্লকচেইনে কাস্টম কার্যকারিতা যোগ করতে চান। আপনি দেখতে পাবেন যে শুধুমাত্র বিদ্যমান স্মার্ট কন্ট্রাক্টগুলোর সাথে একীভূত হওয়ার মাধ্যমেই আপনি আপনার প্রজেক্টের বেশিরভাগ বা সমস্ত চাহিদা পূরণ করতে পারেন, উদাহরণস্বরূপ যদি আপনি স্টেবলকয়েনে পেমেন্ট সমর্থন করতে চান বা টোকেনের বিকেন্দ্রীকৃত এক্সচেঞ্জ সক্ষম করতে চান।

লেভেল 3: ইথেরিয়াম নোড

একটি অ্যাপ্লিকেশনের ইথেরিয়াম ব্লকচেইনের সাথে ইন্টারঅ্যাক্ট করার জন্য, এটিকে অবশ্যই একটি ইথেরিয়াম নোড-এর সাথে সংযুক্ত হতে হবে। একটি নোডের সাথে সংযুক্ত হলে আপনি ব্লকচেইন ডেটা পড়তে এবং/অথবা নেটওয়ার্কে ট্রানজ্যাকশন পাঠাতে পারবেন।

ইথেরিয়াম নোড হলো এমন কম্পিউটার যা সফটওয়্যার চালায় - একটি ইথেরিয়াম ক্লায়েন্ট। ক্লায়েন্ট হলো ইথেরিয়ামের একটি ইমপ্লিমেন্টেশন যা প্রতিটি ব্লকের সমস্ত ট্রানজ্যাকশন যাচাই করে, নেটওয়ার্ককে সুরক্ষিত রাখে এবং ডেটা নির্ভুল রাখে। ইথেরিয়াম নোডগুলোই হলো ইথেরিয়াম ব্লকচেইন। তারা সম্মিলিতভাবে ইথেরিয়াম ব্লকচেইনের স্টেট সংরক্ষণ করে এবং ব্লকচেইন স্টেট পরিবর্তন করার জন্য ট্রানজ্যাকশনের ওপর ঐক্যমত-এ পৌঁছায়।

আপনার অ্যাপ্লিকেশনকে একটি ইথেরিয়াম নোডের সাথে সংযুক্ত করার মাধ্যমে (জেসন-আরপিসি API-এর মাধ্যমে), আপনার অ্যাপ্লিকেশন ব্লকচেইন থেকে ডেটা পড়তে সক্ষম হয় (যেমন ব্যবহারকারীর অ্যাকাউন্ট ব্যালেন্স) এবং সেইসাথে নেটওয়ার্কে নতুন ট্রানজ্যাকশন সম্প্রচার করতে পারে (যেমন ব্যবহারকারীর অ্যাকাউন্টগুলোর মধ্যে ETH স্থানান্তর করা বা স্মার্ট কন্ট্রাক্টের ফাংশনগুলো কার্যকর করা)।

লেভেল 4: ইথেরিয়াম ক্লায়েন্ট API

অনেক সুবিধাজনক লাইব্রেরি (যা ইথেরিয়ামের ওপেন সোর্স কমিউনিটি দ্বারা তৈরি এবং পরিচালিত) আপনার অ্যাপ্লিকেশনগুলোকে ইথেরিয়াম ব্লকচেইনের সাথে সংযুক্ত হতে এবং যোগাযোগ করতে দেয়।

যদি আপনার ব্যবহারকারী-মুখী অ্যাপ্লিকেশনটি একটি ওয়েব অ্যাপ হয়, তবে আপনি সরাসরি আপনার ফ্রন্টএন্ডে একটি JavaScript API npm install করতে পারেন। অথবা হয়তো আপনি একটি Python বা Java API ব্যবহার করে সার্ভার-সাইডে এই কার্যকারিতা বাস্তবায়ন করতে বেছে নেবেন।

যদিও এই API-গুলো স্ট্যাকের কোনো অপরিহার্য অংশ নয়, এগুলো সরাসরি একটি ইথেরিয়াম নোডের সাথে ইন্টারঅ্যাক্ট করার অনেক জটিলতা দূর করে। এগুলো ইউটিলিটি ফাংশনও প্রদান করে (যেমন, ETH-কে Gwei-তে রূপান্তর করা) যাতে একজন ডেভেলপার হিসেবে আপনি ইথেরিয়াম ক্লায়েন্টগুলোর জটিলতা নিয়ে কম সময় ব্যয় করতে পারেন এবং আপনার অ্যাপ্লিকেশনের নির্দিষ্ট কার্যকারিতার ওপর বেশি মনোযোগ দিতে পারেন।

লেভেল 5: এন্ড-ইউজার অ্যাপ্লিকেশন

স্ট্যাকের শীর্ষ স্তরে রয়েছে ব্যবহারকারী-মুখী অ্যাপ্লিকেশনগুলো। এগুলো হলো সেই স্ট্যান্ডার্ড অ্যাপ্লিকেশন যা আপনি বর্তমানে নিয়মিত ব্যবহার করেন এবং তৈরি করেন: মূলত ওয়েব এবং মোবাইল অ্যাপ।

আপনি যেভাবে এই ইউজার ইন্টারফেসগুলো তৈরি করেন তা মূলত অপরিবর্তিত থাকে। প্রায়শই ব্যবহারকারীদের জানার প্রয়োজন হবে না যে তারা যে অ্যাপ্লিকেশনটি ব্যবহার করছেন তা একটি ব্লকচেইন ব্যবহার করে তৈরি করা হয়েছে।

আপনার স্ট্যাক বেছে নিতে প্রস্তুত?

আপনার ইথেরিয়াম অ্যাপ্লিকেশনের জন্য একটি লোকাল ডেভেলপমেন্ট পরিবেশ সেট আপ করার আমাদের গাইডটি দেখুন।

আরও পড়ুন

আপনাকে সাহায্য করেছে এমন কোনো কমিউনিটি রিসোর্স সম্পর্কে জানেন? এই পেজটি এডিট করুন এবং এটি যোগ করুন!