কীভাবে আপনার ওরাকল হিসেবে টেলর সেট আপ করবেন
পপ কুইজ: আপনার প্রোটোকল প্রায় শেষ, কিন্তু অফচেইন ডেটা অ্যাক্সেস করার জন্য এর একটি ওরাকল প্রয়োজন... আপনি কী করবেন?
(সাধারণ) পূর্বশর্ত
এই পোস্টের লক্ষ্য হলো একটি ওরাকল ফিড অ্যাক্সেস করাকে যতটা সম্ভব সহজ এবং সোজা করা। তবে, ওরাকলের দিকটিতে ফোকাস করার জন্য আমরা আপনার কোডিং দক্ষতার স্তর সম্পর্কে নিম্নলিখিত বিষয়গুলো ধরে নিচ্ছি।
অনুমানসমূহ:
- আপনি টার্মিনাল ব্যবহার করতে পারেন
- আপনার npm ইনস্টল করা আছে
- ডিপেন্ডেন্সি ম্যানেজ করার জন্য কীভাবে npm ব্যবহার করতে হয় তা আপনি জানেন
টেলর হলো একটি লাইভ এবং ওপেন-সোর্সড ওরাকল যা ইমপ্লিমেন্টেশনের জন্য প্রস্তুত। এই নতুনদের গাইডটি এখানে দেখানো হয়েছে যে কত সহজে কেউ টেলর ব্যবহার শুরু করতে পারে, যা আপনার প্রজেক্টকে একটি সম্পূর্ণ বিকেন্দ্রীকৃত এবং সেন্সরশিপ-প্রতিরোধী ওরাকল প্রদান করে।
ওভারভিউ
টেলর হলো এমন একটি ওরাকল সিস্টেম যেখানে বিভিন্ন পক্ষ একটি অফচেইন ডেটা পয়েন্টের (যেমন, BTC/USD) ভ্যালু রিকোয়েস্ট করতে পারে এবং রিপোর্টাররা এই ভ্যালুটিকে একটি অনচেইন ডেটা-ব্যাংকে যুক্ত করার জন্য প্রতিযোগিতা করে, যা সমস্ত ইথেরিয়াম স্মার্ট কন্ট্রাক্ট দ্বারা অ্যাক্সেসযোগ্য। এই ডেটা-ব্যাংকের ইনপুটগুলো স্টেক করা রিপোর্টারদের একটি নেটওয়ার্ক দ্বারা সুরক্ষিত থাকে। টেলর ক্রিপ্টো-অর্থনৈতিক ইনসেনটিভ মেকানিজম ব্যবহার করে, রিপোর্টারদের সৎ ডেটা সাবমিশনের জন্য পুরস্কৃত করে এবং টেলর-এর টোকেন, Tributes (TRB) ইস্যুয়েন্স এবং একটি ডিসপুট মেকানিজমের মাধ্যমে খারাপ অ্যাক্টরদের শাস্তি দেয়।
এই টিউটোরিয়ালে আমরা যা যা দেখব:
- কাজ শুরু করার জন্য প্রয়োজনীয় প্রাথমিক টুলকিট সেট আপ করা।
- একটি সহজ উদাহরণের মাধ্যমে কাজ করা।
- বর্তমানে আপনি যেসব নেটওয়ার্ক-এ টেলর টেস্ট করতে পারবেন সেগুলোর টেস্টনেট ঠিকানা তালিকাভুক্ত করা।
UsingTellor
আপনার ওরাকল হিসেবে টেলর ব্যবহার করার জন্য প্রয়োজনীয় বেসিক টুলগুলো ইনস্টল করা হলো প্রথম কাজ। টেলর ইউজার কন্ট্রাক্ট ইনস্টল করতে এই প্যাকেজটি (opens in a new tab) ব্যবহার করুন:
npm install usingtellor
একবার ইনস্টল হয়ে গেলে এটি আপনার কন্ট্রাক্ট-গুলোকে 'UsingTellor' কন্ট্রাক্ট থেকে ফাংশনগুলো ইনহেরিট করার অনুমতি দেবে।
দারুণ! এখন যেহেতু আপনার টুলগুলো প্রস্তুত, চলুন একটি সহজ অনুশীলন করি যেখানে আমরা বিটকয়েন-এর দাম পুনরুদ্ধার করব:
BTC/USD উদাহরণ
UsingTellor কন্ট্রাক্ট ইনহেরিট করুন, টেলর ঠিকানা-কে একটি কনস্ট্রাক্টর আর্গুমেন্ট হিসেবে পাস করুন:
এখানে একটি উদাহরণ দেওয়া হলো:
import "usingtellor/contracts/UsingTellor.sol";
contract PriceContract is UsingTellor {
uint256 public btcPrice;
//এই কন্ট্রাক্টটির এখন UsingTellor-এর সমস্ত ফাংশনে অ্যাক্সেস আছে।
constructor(address payable _tellorAddress) UsingTellor(_tellorAddress) public {}
function setBtcPrice() public {
bytes memory _b = abi.encode("SpotPrice",abi.encode("btc","usd"));
bytes32 _queryId = keccak256(_b);
uint256 _timestamp;
bytes _value;
(_value, _timestamp) = getDataBefore(_queryId, block.timestamp - 15 minutes);
btcPrice = abi.decode(_value,(uint256));
}
}
কন্ট্রাক্ট ঠিকানা-গুলোর একটি সম্পূর্ণ তালিকার জন্য এখানে (opens in a new tab) দেখুন।
সহজে ব্যবহারের জন্য, UsingTellor রেপোতে সহজ ইন্টিগ্রেশনের জন্য Tellor Playground (opens in a new tab) কন্ট্রাক্ট-এর একটি সংস্করণ রয়েছে। সহায়ক ফাংশনগুলোর একটি তালিকার জন্য এখানে (opens in a new tab) দেখুন।
টেলর ওরাকল-এর আরও শক্তিশালী ইমপ্লিমেন্টেশনের জন্য, উপলব্ধ ফাংশনগুলোর সম্পূর্ণ তালিকা এখানে (opens in a new tab) দেখুন।