VeChain- এ কীভাবে একটি ডিপ অ্যাপ তৈরি করবেন: প্রথম পদক্ষেপ

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

ক্রিস্টোফার রবিন এববিহাউস আনস্প্ল্যাশ-এর ​​

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

ইনস্টলেশন

স্থানীয়ভাবে একটি অ্যাপ্লিকেশন তৈরি করতে, ব্লকচেইন কার্যকর করা হয় এমন স্থানীয় নেটওয়ার্ক অবশ্যই স্থানীয় (সম্পাদনা দেখুন) হতে হবে। এটি করার জন্য, আপনাকে VeChain Thor ইনস্টল করতে হবে। আমার মনে হয় নামটা? রেপোতে যা আছে তা-ই। তবুও, নিশ্চিত হয়ে নিন যে গো ইনস্টল করা আছে।

গো ইনস্টল করতে এই লিঙ্কটি অনুসরণ করুন। গো ইনস্টল করার পরে, গিট দিয়ে ভিজেন থোর রেপোটি ক্লোন করুন:

গিট ক্লোন https://github.com/vechain/thor.git সিডি থোর

"ইনস্টলেশন" এর অধীনে README.md এ এখন "নির্ভরতা পরিচালনা" শিরোনাম সহ একটি শিরোনাম রয়েছে এবং আপনি নিতে পারেন এমন কিছু পদক্ষেপ রয়েছে। এই পদক্ষেপগুলি ডেপ করা হয় বা ম্যানুয়ালি নির্ভরতা ইনস্টল করার জন্য যা আপনি ডিপ নিশ্চিতর সাথে করতে পারেন। যেহেতু আমার গোপ্যাথে আমার সোর্স কোডটি নেই, তবুও ত্রুটিটি কোনও পরিচিত GOPATH / src এর মধ্যে প্রদর্শিত হয়নি। সুতরাং আমাকে যা করতে হয়েছিল তা হল আমার গোপথ তৈরি করা এবং এটি আমার .বাশ_প্রফাইলে যুক্ত করা। আপনি যদি এখনও ত্রুটি বার্তা পান তবে নিম্নলিখিত সংস্থানগুলি দেখুন:

  • https://github.com/golang/dep/issues/148
  • https://github.com/golang/dep/issues/911
  • যান - GOPATH তে নেই যদি ডিপ init - স্ট্যাক ওভারফ্লো ব্যবহৃত হয়
  • যান - উইন্ডোজ অধীনে গোলং নির্ভরতা পরিচালন কাজ করে না (GOPATH ত্রুটি) - স্ট্যাক ওভারফ্লো (পিসি সংস্করণ?)

এটি সত্যিই মাথাব্যথা যাচ্ছিল যা তাই হয়ে গেছে, তাই আমি আমার কম্পিউটার থেকে বিরতি দিয়ে কাপকেক খেয়েছি।

নির্ভরতা ইনস্টল করার পরে, আপনার সবেমাত্র ক্লোন করা এবং সম্পাদন করা থোর রেপোতে আপনাকে ফিরে যেতে হবে:

করতে

বা গাইড যেমন বলেছে, "আপনি যদি পুরো স্যুটটি তৈরি করতে চান," নিম্নলিখিতটি করুন:

সব কর

মূল reddit পোস্টে, আমি প্রশ্নটি জিজ্ঞাসা করেছি: "কেউ কি পুরো স্যুট এবং অসম্পূর্ণ স্যুটটির মধ্যে পার্থক্য জানেন?" এবং আপনি / ডেভি_লি উত্তর দিয়েছিলেন:

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

একবার আপনি মূল অ্যাপটি তৈরি করার পরে, আপনি থোর নেটওয়ার্ক চালানোর জন্য প্রস্তুত।

থোর নেটওয়ার্ক চালান

আমাদের উদ্দেশ্যে, আমরা পরীক্ষা নেটওয়ার্কের সাথে সংযোগ করতে চাই। সংযোগ করতে:

বিন / থোর - নেটওয়ার্ক পরীক্ষা

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

README ফাইলে আপনি সমস্ত কমান্ড দেখতে এবং সাহায্যের জন্য বিন / থোর -h চেষ্টা করতে পারেন।

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

দ্রষ্টব্য: এই নির্দেশাবলী সমস্ত VeChain / Thor README এ রয়েছে।

থর নেটওয়ার্কে প্রক্সি

এখন আমাদের নেটওয়ার্কের সাথে এমন কিছু যা ভেইকাইন আমাদের সরবরাহ করে এবং যাকে আমরা ওয়েব 3-গিয়ার বলি তার সাথে একটি প্রক্সি সংযোগ স্থাপন করতে হবে। আমি ধরে নিচ্ছি যে এটি নেটওয়ার্ক (লোকাল ব্লকচেইন ??) এবং আপনার ক্লায়েন্টে চলমান পরিষেবাগুলির মধ্যে একটি মাধ্যম যা ওয়েব 3 নামে পরিচিত।

আপনাকে ওয়েব 3-গিয়ার রেপো ক্লোন করতে হবে না। আপনি এটি ইনস্টল করতে একটি প্যাকেজ পরিচালক ব্যবহার করেন।

একটি ম্যাকে:

ব্রাউইন ইনস্টলেশন ওপেনসেল

ওয়েব 3-গিয়ার চালনার জন্য নির্ভরতাগুলি ইনস্টল করতে। এটি শেষ হয়ে গেলে, নিম্নলিখিতগুলি করুন:

পিপি 3 ওয়েব 3-গিয়ার ইনস্টল করুন

এই দুটি পদক্ষেপটি করার জন্য আপনার কাছে পাইথন ৩.6++ রয়েছে তা নিশ্চিত করুন। একটি পিসিতে আপনাকে কেবল পাইপ ইনস্টল করতে হবে ওয়েব 3-গিয়ার, তবে প্রথমে আপনার কাছে ভিজ্যুয়াল সি ++ বিল্ড সরঞ্জাম এবং স্ক্রিপ্ট-পাই নিশ্চিত করুন।

আপনি যখন ওয়েব 3-গিয়ার ইনস্টল করা শেষ করেন, তখন নামটি "ওয়েব 3-গিয়ার" কল করুন।

আপনি এখন ওয়েব প্রক্সি সেট আপ করেছেন এবং বিভিন্ন সরঞ্জাম ব্যবহার করে সংযোগ করতে পারেন।

আপনি কি কিছু স্মার্ট চুক্তি নিয়ে ঘোরাঘুরি করতে চান? রিমিক্স দিয়ে নেটওয়ার্কে সংযোগ করুন Connect "রান" ট্যাবে যান এবং "পরিবেশ" ট্যাবে "ওয়েব 3 সরবরাহকারী" নির্বাচন করুন। আপনি আপনার কনসোলে প্রচুর জিনিস দেখতে পাবেন যা বেশ ঝরঝরে।

আপনি যদি ভিউ, রিএ্যাক্ট বা নোড দিয়ে স্থানীয়ভাবে আপনার বিকাশ চালিয়ে যেতে চান তবে আপনি পড়তে পারেন।

আপনার ক্লায়েন্টকে থোর নেটওয়ার্কের সাথে সংযুক্ত করুন

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

আসুন তৈরি-প্রতিক্রিয়া অ্যাপ্লিকেশনটির সাথে প্রতিক্রিয়া জানাই। তৈরি-প্রতিক্রিয়া অ্যাপটি ইনস্টল করতে, কেবল নিম্নলিখিতটি করুন:

এনপিএক্স তৈরি-প্রতিক্রিয়া-অ্যাপ্লিকেশন থোর-ওয়েব-অ্যাপ্লিকেশন সিডি থোর-ওয়েব-অ্যাপ্লিকেশন

পরবর্তী আমরা থোরিফাই এবং ওয়েব 3 ইনস্টল করতে চাই। এটি করতে, নিম্নলিখিতটি করুন:

এনপিএম ইনস্টল - সেভ থোরিফাই এনপিএম ইনস্টল - সেভ ওয়েব 3

এখন এনপিএম রান শুরু করুন এবং আপনার অ্যাপ উপস্থিত হবে।

একটি অ্যাপ্লিকেশন এখন চলছে এবং আপনি VeChain Thor নেটওয়ার্কের সাথে সংযুক্ত হতে চলেছেন। তবে আপনার কিছু স্মার্ট চুক্তির প্রয়োজন হতে পারে। আমি এই জন্য ট্রাফলস সুপারিশ। ট্রফল এমন একটি স্যুট যা আপনাকে আপনার স্মার্ট চুক্তিগুলি সংকলন, মোতায়েন করতে এবং পরীক্ষা করতে সহায়তা করে। এটি আরও কাজ করে তবে আপনার স্মার্ট চুক্তিগুলি সংকলন এবং স্থাপন করার জন্য আমাদের কেবল এখন এটি প্রয়োজন।

ট্রুফল ব্যারেল ইনস্টল করতে:

এনপিএম ইনস্টল -জি ট্রফল

নম! আপনার ট্রাফল আছে

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

দ্রষ্টব্য: উইন্ডোজ সিস্টেমগুলিতে, আপনি যখন আপনার মূল ফোল্ডারে ট্রুফল চালান তখন truffle.js ফাইলটি সমস্যার কারণ হতে পারে। অতএব truffle.config.js ফাইলটি তৈরি করুন এবং এটি আপনার থোর-ওয়েব-অ্যাপের মূল ডিরেক্টরিতে রেখে দিন।

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

আমাদের ট্র্যাফল কনফিগার করতে হবে যাতে আমাদের চুক্তিগুলি সঠিক নেটওয়ার্কে স্থাপন করা হয়। এটি করতে, আপনার truffle.js বা truffle.config.js ফাইলগুলিতে নিম্নলিখিতগুলি যুক্ত করুন:

মডিউল.এক্সপোর্টস = works নেটওয়ার্ক: {বিকাশ: {হোস্ট: "লোকালহোস্ট", পোর্ট: 8545, নেটওয়ার্ক_আইডি: "*" // কোনও নেটওয়ার্ক আইডির সাথে সম্পর্কিত} Cor};

একবার আমরা এই উপাদানগুলি সেট আপ করার পরে, আমাদের চুক্তিগুলি সংকলন ও মাইগ্রেট করতে হবে।

আমাদের চুক্তিগুলি দৃity়তার সাথে লিখিত হয়, তবে সেগুলি আমাদের স্থানীয় টেস্টনেট নেটওয়ার্কে উপলভ্য করার জন্য সেগুলি বাইকোডে সংকলন করতে হবে (সম্পাদনা দেখুন)। এটি করতে, নিম্নলিখিতটি করুন:

ট্র্যাফলস ​​একত্রিত

আপনার অ্যাপ্লিকেশন এর মূল ডিরেক্টরিতে। এটি একটি বিল্ড ডিরেক্টরি তৈরি করে। তারপরে আমরা নতুন সংস্থাপিত চুক্তিগুলি পূর্বে প্রতিষ্ঠিত উন্নয়ন নেটওয়ার্কে স্থানান্তর করতে চাই। এটি করতে, নিম্নলিখিতটি করুন:

ট্রফল মাইগ্রেশন - উন্নয়ন

পরিস্ফুটন! আপনার চুক্তিগুলি স্থানান্তরিত হয়েছিল এবং এখন ব্লকচেইন থেকে দূরে থাকা উচিত। আপনি এখন আপনার চুক্তির সাথে ইন্টারঅ্যাক্ট করতে পারেন।

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

আপনার এসআরসি ফোল্ডারে বিল্ড ফোল্ডারটি একবার হয়ে গেলে, এই অ্যাপ্লিকেশনটিতে এই ডেটাটি লোড করার সময়। এই নিবন্ধটি সহজ করার জন্য, আমি আমার ওয়েব 3 কোডটি অ্যাপ.জেজে রাখার সিদ্ধান্ত নিয়েছি, তবে এটি সত্যিই অনেক জায়গায় করা যায়। অ্যাপ্লিকেশনগুলি খুলুন এবং নীচে থোরিফাই, ওয়েব 3 এবং আপনার চুক্তি ডেটা আমদানি করুন:

// "থোরিফাই" থেকে ইএস 6 স্টাইলটি or থোরাইফাই করুন import '। / বিল্ড / চুক্তি / মেটাকয়েন.জসন' থেকে মেটাকয়েন আমদানি করুন; কনস্ট ওয়েব 3 = প্রয়োজনীয় ("ওয়েব 3"); // এটি আমদানি করা কনস্ট ওয়েব 33 থোরিফাই (নতুন ওয়েব 3 (), "http: // লোকালহোস্ট: 8669") এর পরিবর্তে প্রয়োজনীয় ব্যবহার করার পরামর্শ দেওয়া হয়;

আপনি যদি ES5 স্টাইলের কোডটি লিখতে চান:

কনস্ট থোরিফাই = প্রয়োজন ("থোরিফাই")। thorify; কনট মেটাকয়েন = প্রয়োজনীয় ('./ বিল্ড / পরিচিতি / মেটাকয়েন.জসন'); কনস্ট ওয়েব 3 = প্রয়োজনীয় ("ওয়েব 3");
কনস্ট ওয়েব 3 = থোরিফাই (নতুন ওয়েব 3 (), "http: // লোকালহোস্ট: 8669");

আমি এখানে কিছুটা গণ্ডগোল করেছিলাম এবং ভেবেছিলাম আমাকে 8545 বন্দরের সাথে সংযুক্ত করতে হবে, তবে এটি ভুল wrong আপনি "8669" বন্দরে সংযোগ স্থাপন করেছেন তা নিশ্চিত করুন।

এখন আমরা সবকিছু সংযোগ করতে পারি!

কনট মেটাকয়েনকন্ট্যাক্ট = নতুন ওয়েব 3.থ.কন্ট্র্যাক্ট (মেটাকয়েন.বিবি);

ওয়েব 3 নথিতে:

Web3.eth.Contract অবজেক্টটি ইথেরিয়াম ব্লকচেইনে বুদ্ধিমান চুক্তির সাথে মিথস্ক্রিয়াটিকে সহজতর করে। আপনি যদি কোনও নতুন চুক্তি অবজেক্ট তৈরি করেন তবে এটিকে সংশ্লিষ্ট স্মার্ট চুক্তির জসন ইন্টারফেসটি দিন এবং ওয়েব 3 স্বয়ংক্রিয়ভাবে আপনার জন্য আরপিসির মাধ্যমে নিম্ন স্তরের এবিআই কলগুলিতে সমস্ত কল রূপান্তর করে।
আপনি জাভাস্ক্রিপ্ট অবজেক্টের মতো স্মার্ট চুক্তির সাথে ইন্টারঅ্যাক্ট করতে পারেন।

আপনি যদি কনসোল প্রোটোকল হিসাবে মেটাকয়েনকন্ট্র্যাক্ট ব্যবহার করেন তবে বিভিন্ন বিভিন্ন বৈশিষ্ট্যযুক্ত একটি বস্তু প্রদর্শিত হয় is আপনি যে বৈশিষ্ট্যগুলি দেখছেন সেগুলির কয়েকটি হ'ল পদ্ধতি এবং এই পদ্ধতিগুলি আপনার দৃity়তা চুক্তির ফাংশনগুলির সাথে মেলে। আপনি এই ফাংশনগুলি সম্পাদন করতে এই পদ্ধতিগুলি কার্যকর করেন!

ঠিক আছে, আমি আপনাকে এখনই ছেড়ে চলে যাব, তবে আশা করি এটি আপনার জন্য একটি ভাল শুরু। কি ভাবছেন? কিছু কি অনুকূলিত হতে পারে? ভাল বা অন্যভাবে কি করা যেতে পারে?

টুইটারে আমাকে অনুসরণ করুন!

https://twitter.com/Raleigh_CA