Chainlink price feeds در شبکه بایننس اسمارت چِین

Chainlink price feeds در شبکه بایننس اسمارت چِین
فیدهای دادههای زنجیرهای سریعترین راه برای اتصال قرارداد هوشمند به دادههای بازار بلادرنگ است. این فیدها به شما این امکان را می دهند که به راحتی آخرین قیمت بازار را در یک فراخوانی دریافت کنید.
موارد استفاده زیادی وجود دارد که داده های بلادرنگ برای ارزیابی قرارداد مورد نیاز است. به عنوان مثال: اعطای وام و استقراض برای تعیین قیمت وثیقه یا زمان واقعی برای قراردادهای مصنوعی.
Chainlink price feed در شبکه بایننس اسمارت چین
در زیر نمونه ای از یک قرارداد هوشمند است که ETH، BTC و BNB را در سه تماس جداگانه ادغام می کند. من آن را بسیار ساده نگه داشتم تا بتوانید الگو را دنبال کنید. آدرس های قرارداد مربوط به شبکه اصلی زنجیره هوشمند Binance است و برای اجرا به هیچ توکن پیوندی نیاز ندارد.
این قرارداد بسیار ساده است و از AggregatorV3Interface استفاده می کند. این رابط توابع پیاده سازی شده توسط فیدهای قیمت زنجیره لینک را انتزاعی و تعریف می کند.
این قرارداد نیز قابل تمدید است. به عنوان مثال یک تابع ایجاد کنید که هر نمادی را به عنوان ورودی بپذیرد. این ویژگی را می توان به صورت داخلی استفاده کرد یا در قرارداد دیگری به آن اشاره کرد.
pragma solidity ^0.6.7;
import "https://github.com/smartcontractkit/chainlink/blob/master/evm-contracts/src/v0.6/interfaces/AggregatorV3Interface.sol";
contract GetPricesFromBSC {
//state variabile written to the block chain
AggregatorV3Interface internal priceFeedETH;
AggregatorV3Interface internal priceFeedBTC;
AggregatorV3Interface internal priceFeedBNB;
constructor() public {
priceFeedETH = AggregatorV3Interface(0x9ef1B8c0E4F7dc8bF5719Ea496883DC6401d5b2e);
priceFeedBTC = AggregatorV3Interface(0x264990fbd0A4796A3E3d8E37C4d5F87a3aCa5Ebf);
priceFeedBNB = AggregatorV3Interface(0x0567F2323251f0Aab15c8dFb1967E4e8A7D42aeE);
}
//returns the latest price
function getLatestETHPrice() public view returns (int) {
(
uint80 roundID,
int price,
uint startedAt,
uint timeStamp,
uint80 answeredInRound
) = priceFeedETH.latestRoundData();
return price;
}
//returns the latest price
function getLatestBTCPrice() public view returns (int) {
(
uint80 roundID,
int price,
uint startedAt,
uint timeStamp,
uint80 answeredInRound
) = priceFeedBTC.latestRoundData();
return price;
}
//returns the latest price
function getLatestBNBPrice() public view returns (int) {
(
uint80 roundID,
int price,
uint startedAt,
uint timeStamp,
uint80 answeredInRound
) = priceFeedBNB.latestRoundData();
return price;
}
}

در صورتی که تجربه خاصی در خصوص برنامهنویسی ندارید میتوانید از دورههای رایگان سایت ما “فرازمان“، استفاده کنید. همچنین اگر به دورههای پیشرفتهتری در این خصوص نیاز داشته باشید، ما با آموزش های حرفه ای که در سایتمان قرار دادیم می توانید به سطح دلخواهتان با تلاش و پشتکار برسید.
نقشه راه
راهنما آکادمی فرازمان
برای یادگیری برنامه نویسی بلاکچین…
در این باره بیشتر بخوانید
دیدگاهتان را بنویسید