আপনার প্রথম স্মার্ট চুক্তিটি কীভাবে লিখবেন?



স্মার্ট কন্ট্রাক্ট ডেভলপমেন্টের বেসিকগুলি শিখুন এবং আপনার প্রথম স্মার্ট চুক্তি লেখা শুরু করুন। আপনি কীভাবে স্মার্ট চুক্তিটি পরীক্ষা করবেন তাও জানবেন।

মধ্যে , আপনি স্মার্ট চুক্তিগুলি কী, বিভিন্ন স্মার্ট কন্ট্রাক্ট ভাষা এবং কীভাবে একটি স্মার্ট চুক্তি বিকাশ পরিবেশ স্থাপন করবেন সে সম্পর্কে শিখেছেন। এই নিবন্ধে, আপনি কীভাবে আপনার প্রথম স্মার্ট চুক্তিটি তৈরি করবেন তা শিখবেন। আমি ব্যবহার করা হবেস্মার্ট চুক্তিটি বিকাশ ও পরীক্ষার জন্য রিমিক্স আইডিই।

নীচে বিষয়গুলি এই স্মার্ট কন্ট্রাক্ট ডেভলপমেন্ট টিউটোরিয়ালে আচ্ছাদিত:





আপনার স্মার্ট চুক্তি তৈরি করছে

এই ব্লগ সিরিজের অংশ হিসাবে একটি সাধারণ ক্রয়ের অর্ডার স্মার্ট চুক্তি তৈরি করা হবে। এই সিরিজটি যখন অগ্রগতি লাভ করবে এবং দৃ programming়তার সাথে প্রোগ্রামিং ভাষার নতুন ধারণাগুলি প্রবর্তিত হবে, ক্রয় অর্ডার স্মার্ট চুক্তিটি বিকশিত হবে এবং উন্নতি করবে।



স্মার্ট চুক্তির কাঠামো

সলিডিটি স্মার্ট চুক্তি, সংক্ষেপে, নিম্নলিখিতগুলির সংগ্রহ is

  • তথ্য - যা চুক্তির বর্তমান অবস্থা বজায় রাখে
  • ফাংশন - যা চুক্তির রাজ্যে রূপান্তর করতে যুক্তি প্রয়োগ করে

সলিডিটি স্মার্ট চুক্তিগুলি একটি মানক কাঠামো অনুসরণ করে। যে কোনও স্মার্ট চুক্তি নিম্নলিখিত বিবৃতি দিয়ে শুরু হয়



প্রগমা নির্দেশ

'প্রগমা' কীওয়ার্ডটি নির্দিষ্ট সংকলক বৈশিষ্ট্য বা চেক সক্ষম করতে ব্যবহার করা যেতে পারে। নীচের বিবৃতিটি সংজ্ঞায়িত করেছে যে উত্স ফাইল (স্মার্ট চুক্তি) 0.4.0 এর আগে সংকলক এবং 0.6.0 এর পরে সংকলক সংস্করণ সংকলন করবে না। এই ঘোষণাটি নিশ্চিত করে যে কোনও নতুন সংকলক সংস্করণ প্রবর্তিত হলে কোনও অনিচ্ছাকৃত আচরণ প্রবর্তিত হবে না।

pragma solidity> = 0.4.0<=0.6.0 

চুক্তি ঘোষণা

চুক্তিটি 'চুক্তি' শব্দটি ব্যবহার করে ঘোষণা করা হয়। এটি একটি খালি চুক্তি ঘোষণা করে যা 'ক্রয় অর্ডার' নামে সনাক্ত করা হয়।

চুক্তি ক্রয় অর্ডার {

চুক্তিতে প্রাসঙ্গিক ডেটা সংরক্ষণ করা

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

স্মার্ট কন্ট্রাক্ট ডেভলপমেন্ট: ভেরিয়েবলের পরিচয় দেওয়া

দৃity়তার সাথে, ভেরিয়েবল দুটি ধরণের হয়

  1. মান প্রকার: এই ধরণের ভেরিয়েবলগুলি মান দ্বারা পাস হয়, অর্থাত্ ফাংশন আর্গুমেন্ট বা অ্যাসাইনমেন্ট হিসাবে ব্যবহার করার সময় এগুলি সর্বদা অনুলিপি করা হয়। উদাহরণস্বরূপ: পূর্ণসংখ্যা, বুলিয়ান ঠিকানা, ইত্যাদি
  2. রেফারেন্সের প্রকারগুলি: এই ধরণের ভেরিয়েবল জটিল ধরণের এবং রেফারেন্স দ্বারা পাস করা হয়, এই ভেরিয়েবলগুলি 256 বিটের মধ্যে খাপ খায় না এবং এগুলি অনুলিপি করা ব্যয়বহুল হওয়ায় সাবধানতার সাথে পরিচালনা করতে হবে।

স্মার্ট চুক্তিতে ডেটা যুক্ত করা হচ্ছে

আসুন চুক্তিতে কিছু ডেটা ভেরিয়েবল যুক্ত করি। প্রতিটি ক্রয় আদেশের জন্য, এর সাথে কিছু পরিমাণ পণ্য যুক্ত থাকতে হবে। আসুন আমরা একটি পরিবর্তনশীল product_quantity যুক্ত করি যা ডেটা টাইপ পূর্ণসংখ্যা বা সংখ্যার হবে।

হ্যাশ ম্যাপ এবং হ্যাশ টেবিলের মধ্যে পার্থক্য

আমরা এখন যে পরিবর্তনশীলটি পরিচয় করিয়ে দিচ্ছি এটি একটি স্বাক্ষরবিহীন পূর্ণসংখ্যা এবং এটি uint256, 256 দ্বারা প্রতিনিধিত্ব করা হয়েছে এখানে 256 বিট স্টোরেজটি প্রকাশ করে।

  • ইউ - স্বাক্ষরবিহীন (এর অর্থ এই ধরণেরটি ইতিবাচক পূর্ণসংখ্যার প্রতিনিধিত্ব করতে পারে, ইতিবাচক এবং নেতিবাচক পূর্ণসংখ্যার নয়)
  • INT - পূর্ণসংখ্যা
  • আকারে 256 - 256 বিট
  • সর্বনিম্ন মান uint256 নির্ধারিত হতে পারে 0 is
  • সর্বাধিক মান uint256 নির্ধারিত হতে পারে 2 ^ 256-1 [একটি খুব বড় সংখ্যা]

পণ্যের পরিমাণটি কেবল একটি ইতিবাচক মান এবং বর্তমান অনুমান আমরা পণ্য পরিমাণের জন্য একটি খুব বড় মান পূরণ করতে যাচ্ছি।

ঘোষিত “product_quantity” ভেরিয়েবল চুক্তি রাষ্ট্রের অংশ এবং তাই চুক্তির স্থানে অবিচ্ছিন্ন বা সংরক্ষণ করা হয়। বর্তমানে, এই পরিবর্তনশীল 0 মান ডিফল্ট হবে।

চুক্তি ক্রয় অর্ডার {uint256 product_quantity}

কনস্ট্রাক্টর সংজ্ঞায়িত করা হচ্ছে

চুক্তি মোতায়েন করা হলে কনস্ট্রাক্টরকে ডাকা হয়। কনস্ট্রাক্টর কিছু মান সহ চুক্তিটি আরম্ভ করে। বর্তমান দৃশ্যে, চুক্তি মোতায়েন করা হলে পণ্যের পরিমাণটি 100 এ সেট করা হয়। একটি প্যারামিটারাইজড কনস্ট্রাক্টর একটি ভেরিয়েবল পাস করে এবং ভ্যালুতে পাস হওয়া ব্যবহার করে product_quantity শুরু করে তৈরি করা যেতে পারে।

এখানে মূল বিষয়টি উল্লেখ করতে হবে যে কনস্ট্রাক্টরের সাথে সম্পর্কিত অ্যাক্সেস মডিফায়ার 'পাবলিক'। পাবলিক কীওয়ার্ড উল্লেখ করে যে যে কেউ এই ফাংশনটি অ্যাক্সেস করতে পারে, এটি কোনও সীমাবদ্ধ ফাংশন নয়।

জাভাতে স্ক্যানার কী

নির্মাতা () সর্বজনীন {product_quantity = 100}

ফাংশন যোগ করা হচ্ছে

আসুন এখন আমাদের প্রোগ্রামটি ইন্টারেক্টিভ করতে ফাংশন যুক্ত করি। ফাংশনগুলি নিয়ন্ত্রণের ক্ষমতাগুলি যা কোনও প্রোগ্রামে যুক্ত হতে পারে। কোনও ফাংশন মূল শব্দ ফাংশন দ্বারা পূর্ববর্তী হয়। সামগ্রিকভাবে এটি ফাংশন ঘোষণার মত দেখাচ্ছে' ফাংশন ”।

ফাংশন পান

প্রোগ্রামের যে কোনও একটির জন্য সর্বাধিক সাধারণ প্রয়োজনীয়তা হ'ল সঞ্চিত মানটি পড়া read নিম্নলিখিত চুক্তিতে, আমাদের 'product_quantity' মানটি পড়তে হবে। এই ক্ষমতাটি সরবরাহ করার জন্য, একটি পঠন ফাংশন বা একটি গেম ফাংশন যুক্ত করা হয়। এই ফাংশনে আমরা সঞ্চিত মানটিতে কোনও হেরফের করছি না, আমরা কেবল সঞ্চিত মানটি পুনরুদ্ধার করছি।

আসুন এখন আমাদের get ফাংশনটি ভেঙে দিন (get_quantity)

না কীওয়ার্ড মান
এক get_quantity (){কোনও পরামিতি পাস করা হয় না}
পাবলিক{যে কেউ ফাংশন অ্যাক্সেস করতে পারে}
দর্শন{ফাংশনটি কেবলমাত্র চুক্তির রাজ্যটি বোঝায়, চুক্তির স্থিতি পরিবর্তন করে না, তাই দেখুন}
uint256 প্রকারের একটি ভেরিয়েবল প্রদান করে {ফাংশন দ্বারা কী ফিরে আসে তা নির্ধারণ করে}
ফাংশন get_quantity () পাবলিক ভিউ রিটার্ন (uint256) {রিটার্ন product_quantity ant

সেটার ফাংশন

ডেটা পড়া প্রয়োজনীয় এবং আমরা এটি শেষ বিভাগে সম্পন্ন করেছি, তবে বেশিরভাগ দৃশ্যের পাশাপাশি ডেটা লেখার / আপডেট করার ক্ষমতাও প্রয়োজন। এই নির্দিষ্ট ক্ষমতাটি একটি সেটার ফাংশন যুক্ত করে সরবরাহ করা হয়। এই ফাংশনটি একটি ইনপুট প্যারামিটার আকারে ব্যবহারকারীর কাছ থেকে একটি মান নেয়। ব্যবহারকারী দ্বারা ফাংশনে প্রদত্ত মানটি ব্যবহার করে ভ্যারিয়েবলের 'product_quantity' এর মান / আপডেট করা হয়।

আসুন এখন আমাদের সেট ফাংশনটি ভেঙে দিন (আপডেট_কুনটি)

পণ্যের পরিমাণের মান আপডেট করতে একটি ফাংশন যুক্ত করা

না কীওয়ার্ড মান
এক আপডেট_ পরিমাণ (uint256 মান)uint256 প্রকারের প্যারামিটার মানটি পাস হয়েছে is
পাবলিক{যে কেউ ফাংশন অ্যাক্সেস করতে পারে}
রাজ্য ফাংশনগুলি দ্বারা আপডেট হচ্ছে বলে প্রয়োজনীয় নয়
uint256 প্রকারের একটি ভেরিয়েবল প্রদান করে (ফাংশন দ্বারা কী ফিরে আসে তা নির্ধারণ করা হয়)
ফাংশন আপডেট_উয়ান্টিটি (uint256 মান) সর্বজনীন {product_quantity = product_quantity + মান}

এই সমস্ত একসাথে প্লাগ করে, সামগ্রিক চুক্তির মতো দেখতে হবে।

pragma solidity> = 0.4.0<=0.6.0 contract PurchaseOrder{ uint256 product_quantity //state variable /*Called with the contract is deployed and initializes the value*/ constructor() public{ product_quantity = 100 } // Get Function function get_quantity() public view returns(uint256){ return product_quantity } // Set Function function update_quantity(uint256 value) public { product_quantity = product_quantity + value } } 

স্মার্ট চুক্তি মোতায়েন করা হচ্ছে

স্মার্ট চুক্তি পরীক্ষা করার সময়। এই স্মার্ট চুক্তিটি পরীক্ষা করার জন্য, আমরা ব্যবহার করব রিমিক্স অনলাইন আইডিই

রিমিক্স একটি অনলাইন খেলার মাঠ স্মার্ট চুক্তি । রিমিক্স সম্পূর্ণ ব্রাউজার ভিত্তিক। রিমিক্স আপনাকে একটি অনলাইন আইডিই সরবরাহ করে (সমন্বিত বিকাশ পরিবেশ) যেখানে আপনি নিজের স্মার্ট চুক্তিগুলি লিখতে পারেন। রিমিক্স আপনাকে একটি অনলাইন দৃity়তা সংকলক ক্ষমতা সরবরাহ করে। রিমিক্স আইডিই-তে স্মার্ট চুক্তিটি নির্বিঘ্নে একটি নির্দিষ্ট সংকলক সংস্করণ ব্যবহার করে সংকলন করা যেতে পারে।

রিমিক্স দ্রুত স্মার্ট চুক্তি পরীক্ষা করার ক্ষমতাও সরবরাহ করে।

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

রিমিক্স আইডিইয়ের সাথে স্মার্ট কন্ট্রাক্ট ডেভলপমেন্ট শুরু করার জন্য আপনার প্রয়োজন ব্রাউজার এবং একটি ইন্টারনেট সংযোগ browser একটি স্মার্ট চুক্তির জন্য একটি ধারণার দ্রুত বিকাশ, পরীক্ষা এবং বৈধতা।

রিমিক্স সম্প্রতি তাদের ইউআই আপগ্রেড করেছে।

Remix-UI-Smart-Contracts-Edureka

উপরের চিত্রটিতে হাইলাইট হওয়া ফাইল আইকনে ক্লিক করুন, ফাইল এক্সপ্লোরার খুলবে।

  1. প্লাস আইকনে ক্লিক করে একটি নতুন ফাইল তৈরি করা যেতে পারে, ফাইলটির নাম PurchaseOrder.sol দিন
  2. এটি PurchaseOrder.sol নামে একটি খালি ফাইল তৈরি করবে, ক্লিক করুন এবং এই ফাইলটি খুলুন।
  3. আসুন PurchaseOrder.sol এ পুরো চুক্তিটি অনুলিপি করুন।
  4. দ্বিতীয় আইকনে ক্লিক করুন, ফাইল আইকনের ঠিক নীচে বাম মেনুতে, দৃ solid়তা সংকলক বিকল্প উপস্থিত হবে।
  5. সংকলক লেবেলের অধীনে, সংকলক সংস্করণ নির্বাচন করুন। বর্তমান নির্বাচিত সংস্করণটি 0.5.8।
  6. সংকলক সংস্করণ নির্বাচন পোস্ট করুন, 'সংকলন ক্রয় অর্ডার.সোল' ক্লিক করুন। এটি স্মার্ট চুক্তিটি সংকলন করবে।

The. স্মার্ট চুক্তিটি সফলভাবে সংকলিত হয়ে গেলে, 'সংকলনের বিবরণ' বোতামটিতে ক্লিক করুন এবং নিম্নলিখিত বিবরণগুলি উপস্থিত হওয়া উচিত। সংকলন পোস্ট, দুটি মূল তথ্য উপলব্ধ করা হয়

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

৮. স্মার্ট চুক্তি পরীক্ষা করার জন্য, স্মার্ট চুক্তি মোতায়েন করা দরকার। স্মার্ট চুক্তি মোতায়েনের জন্য বাম মেনুতে পরবর্তী আইকনটি সংকলন আইকনটিতে ক্লিক করুন। নিচের পর্দাটি দৃশ্যমান হবে। স্মার্ট চুক্তি পরীক্ষা করার জন্য, স্মার্ট চুক্তি মোতায়েন করা দরকার। স্মার্ট চুক্তি মোতায়েনের জন্য নীচের বাম মেনুতে পরবর্তী আইকনটি সংকলন আইকনে ক্লিক করুন। নিচের পর্দাটি দৃশ্যমান হবে।

স্থাপনার বিকল্প

ডিপ্লোয়মেন্ট স্ক্রিন, বেশ কয়েকটি পছন্দ সরবরাহ করে, আসুন আমরা একে একে তাদের তাকান।

  • পরিবেশ: এটি আপনার প্রয়োজনীয়তার উপর ভিত্তি করে আপনি যেখান থেকে কিনতে চান এমন একটি পছন্দ বেছে নিয়ে অ্যামাজন, ফ্লিপকার্ট, নেভেগ (এই সমস্তই অনলাইন খুচরা বিক্রেতা) যে কোনও একটি থেকে ল্যাপটপ কেনার জন্য অনুরূপ বিকল্প হিসাবে ভাবা যেতে পারে। একইভাবে, রিমিক্সের ক্ষেত্রে, আমাদের কাছে একটি বিকল্প রয়েছে যেখানে স্মার্ট চুক্তি স্থাপন করতে হবে এবং স্মার্ট চুক্তিটি পরীক্ষা করতে হবে। পরিবেশের লেবেলের পাশের ড্রপডাউনটি তিনটি নির্বাচন সরবরাহ করে
    • জাভাস্ক্রিপ্ট ভিএম - একটি স্থানীয় এথেরিয়াম একক নোড ব্রাউজারের মেমরিতে সজ্জিত হয় এবং 5 টি প্রাক-ফান্ডেড পরীক্ষার অ্যাকাউন্ট সরবরাহ করে যা লেনদেনের জন্য ব্যবহৃত হতে পারে (স্থাপনা, অনুরোধমূলক ফাংশন)
    • ইনজেক্টেড ওয়েব 3 সরবরাহ করুন - এটি মেটামাস্কের উপর নির্ভর করে। মেটামাস্ক ব্রোকার বা মিডলম্যানের মতো, যা ওয়েব অ্যাপ্লিকেশনগুলিকে স্মার্ট চুক্তির সাথে ইন্টারঅ্যাক্ট করার অনুমতি দেয়। মেটামাস্ক পরিচয়গুলি পরিচালনা করতে এবং ইথেরিয়াম নেটওয়ার্কে প্রেরণের জন্য লেনদেনগুলিতে স্বাক্ষর করার দক্ষতা সরবরাহ করে middle এই মাঝারি বা 3আরডিপার্টি আপনাকে ব্লকচেইন নেটওয়ার্ক নির্ধারণে সহায়তা দেয় যাতে স্মার্ট চুক্তি মোতায়েন করা হবে।
    • ওয়েব 3 সরবরাহকারী - আপনি যদি স্থানীয় ইথেরিয়াম নোড চালাচ্ছেন এবং আরপিসি শেষ পয়েন্টটি উপলব্ধ থাকে তবে এই বিকল্পটি ব্যবহার করা যেতে পারে। স্থানীয় ইথেরিয়াম নোডে স্মার্ট চুক্তি মোতায়েন করা হবে।
  • অ্যাকাউন্টস: নির্বাচিত পরিবেশের উপর ভিত্তি করে এই তথ্যটি জনবহুল। উদাহরণ স্বরূপ. জাভাস্ক্রিপ্ট ভিএম 5 প্রাকফান্ডেড পরীক্ষার অ্যাকাউন্ট সরবরাহ করে। ওয়েব 3 সরবরাহকারী এবং ইনজেক্টেড ওয়েব 3 এর ক্ষেত্রে প্রিফান্ডেড পরীক্ষা অ্যাকাউন্ট সরবরাহ করবেন না।
  • গ্যাস সীমা: এটি প্রাথমিকভাবে যে কোনও লেনদেনের জন্য ব্যয় করতে ইচ্ছুক গ্যাসের সর্বাধিক পরিমাণ নির্ধারণ করে। এটি অসীম লুপের বিরুদ্ধে সুরক্ষা এবং অসীম লুপের অবস্থার ক্ষেত্রে অ্যাকাউন্টের সমস্ত তহবিল অপসারণের জায়গা।
  • মান: স্মার্ট চুক্তি মোতায়েন করার সময় যে মানটি প্রেরণের জন্য প্রয়োজনীয় হতে পারে। এটি একটি alচ্ছিক মান।

চুক্তি মোতায়েনের জন্য, জাভাস্ক্রিপ্ট ভিএম বিকল্পটি নির্বাচন করুন, অ্যাকাউন্টগুলি ডাউন ডাউন থেকে প্রথম অ্যাকাউন্টটি নির্বাচন করুন, অ্যাকাউন্টের ভারসাম্যটি নোট করুন (100 ইথার)।

স্মার্ট চুক্তির নামটি PurchaseOrder প্রদর্শিত হচ্ছে তা নিশ্চিত করুন, মোতায়েনের জন্য ক্লিক করুন। মূল ক্রিয়াগুলি যা ঘটবে

  1. অ্যাকাউন্টের ভারসাম্যটি 100 ইথার থেকে 99.999999 ইথারে পরিবর্তিত হয়, কাটা পরিমাণটি হ'ল স্মার্ট চুক্তি মোতায়েনের জন্য লেনদেনের ব্যয়।
  2. মোতায়েন চুক্তির অধীনে স্মার্ট কন্ট্রাক্টের জন্য একটি নতুন টাইল উপস্থিত হবে যা নতুন স্মার্ট চুক্তির ঠিকানাও এরকম কিছু সরবরাহ করবে (0x692a70d2e424a56d2c6c27aa97d1a86395877b3a)
  3. কনসোল উইন্ডোতে নিম্নলিখিত তথ্য উপস্থিত হবে
    1. লেনদেনের হ্যাশ - চুক্তি মোতায়েনকে স্বতন্ত্রভাবে চিহ্নিত করে
    2. লেনদেন খরচ
    3. চুক্তির ঠিকানা

মোতায়েন চুক্তির সাথে আলাপচারিতা

  1. মোতায়েন করা চুক্তির আওতায়, নিম্নলিখিত দুটি ইন্টারঅ্যাকশন পদ্ধতিতে আপডেট_উয়ান্টিটি এবং get_quantity পাওয়া যায়।
  2. এই উভয় মিথস্ক্রিয়া পদ্ধতি হ'ল 'ক্রয় আদেশ' চুক্তিতে সংজ্ঞায়িত সর্বজনীন পদ্ধতি।
  3. আপডেট পরিমাণ 'আপডেট_কিউটিটি' পদ্ধতির জন্য একটি ইনপুট প্যারামিটার প্রয়োজন, তাই ইনপুট বাক্স।
  4. পরিমাণ পান 'get_quantity' পদ্ধতিটি product_quantity এর মান পুনরুদ্ধার করে।
  5. আসুন পরীক্ষা করা যাক যখন get_quantity শুরু করা হয় তখন কী ঘটে, রিটার্নের মান 100 দেখানো হয় যা কনস্ট্রাক্টারে শুরু করা হয়েছিল। এটি কোনও লেনদেন ঘটায় না
  6. আসুন আমরা update_quantity প্রার্থনা করি এবং ইনপুট হিসাবে 30 সরবরাহ করি। এর ফলে একটি লেনদেন ঘটে

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

কোনও ক্রিয়াকলাপ যা কেবলমাত্র চুক্তির রাজ্যটি পড়ে তা লেনদেনের কারণ হয় না।

স্মার্ট কন্ট্রাক্ট ডেভলপমেন্ট উপসংহার

এটির সাহায্যে আমরা সবেমাত্র আমাদের প্রথম স্মার্ট চুক্তি তৈরি করেছি, কেবল দৃ solid়তার পৃষ্ঠকে স্ক্র্যাচিং করছি। আমরা কেবল দেখেছি যে স্মার্ট চুক্তিটি সরাসরি স্মার্ট চুক্তি স্থাপন থেকে শুরু করে লেনদেন শুরুর দিকে পরীক্ষা করার জন্য কী লাগে।

পরবর্তী ব্লগে যা স্মার্ট কন্ট্রাক্ট ডেভলপমেন্ট সিরিজের ধারাবাহিকতা, আমরা স্মার্ট কন্ট্রাক্ট ডিপ্লোয়মেন্টগুলিতে আরও গভীর ডুব নিলে দৃ solid়তা মৌলিকাগুলির গভীরে dwell

যে সঙ্গে, আমি এই উপসংহার স্মার্ট চুক্তি উন্নয়ন ব্লগ। আমি আশা করি আপনি এই ব্লগটি পড়ে উপভোগ করেছেন এবং এটি তথ্যপূর্ণ পেয়েছেন।

প্রোগ্রাম শেষ করতে জাভা কমান্ড

আমিf আপনি স্মার্ট চুক্তি শিখতে চান, ব্লকচেইনের ডোমেইনে ক্যারিয়ার গড়তে এবং ইথেরিয়াম প্রোগ্রামিংয়ে দক্ষতা অর্জন করতে, লাইভ-অনলাইনে তালিকাভুক্ত হতে চান এখানে, এটি আপনার পড়াশোনার পুরো সময়কালে আপনাকে গাইড করার জন্য 24 * 7 সমর্থন সহ আসে।

আমাদের জন্য একটি প্রশ্ন আছে? দয়া করে 'স্মার্ট চুক্তি বিকাশ' এর মন্তব্য বিভাগে এটি উল্লেখ করুন এবং আমরা আপনার কাছে ফিরে পেয়ে যাবস্ট্যান্ড