楼主: lovei130908
252 1

DeFi质押挖矿dapp系统开发技术讲解 [推广有奖]

  • 0关注
  • 0粉丝

博士生

19%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
54.2448
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
2000 点
帖子
113
精华
0
在线时间
65 小时
注册时间
2022-8-22
最后登录
2023-5-17

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

今年DeFi协议呈爆发式增长,DeFi的总锁定价值从一月份6.8亿美金激增到现在的140亿美金。这些DeFi协议依赖外部价格数据作为数据源,因为区块链不能在本地直接访问外部数据。此外这些应用需要提供数据保障来保护应用免遭漏洞利用

创建智能合约

第一步是获取测试网的ETH作为智能合约的gas费。在获得一些ETH后,构建一个用上Chainlink喂价的智能合约的最简单的方式是从标准的价格消费者合约开始。这是用于启动对Chainlink喂价请求的基本合约。这部分基于演示目的,我们将使用已经定义在标准的价格消费者合约中的ETH/USD喂价,但是我们将详细解释这部分的代码,便于你了解它的工作原理。

首先,我们可以看到AggregatorV3Interface合约接口被导入。这样我们的智能合约就可以引用部署在Kovan测试网络的喂价合约。接着,我们创建一个合约实例并保存到本地变量中。

import "https://github.com/smartcontractkit/chainlink/blob/master/evm-contracts/src/v0.6/interfaces/AggregatorV3Interface.sol";

复制

AggregatorV3Interface internal priceFeed;

priceFeed = AggregatorV3Interface(0x9326BFA02ADD2366b30bacB125260Af641031331);

复制

然后我们看到一个已经定义好的函数用于从喂价聚合合约中获取最新的价格数据,该合约在上面提到的构造函数中实例化。为了获取价格,我们定义一个新的函数从聚合器(Aggregator)合约中调用latestRoundData函数。 这是返回聚合器(Aggregator)合约当前状态的函数,在本例中,我们取出当前价格并将其返回到消费函数中。

function getLatestPrice() public view returns (int) {

        (

            uint80 roundID,

            int price,

            uint startedAt,

            uint timeStamp,

            uint80 answeredInRound

        ) = priceFeed.latestRoundData();

        return price;

    }


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:App def DAP Interfaces interface

沙发
三江鸿 发表于 2022-11-29 10:58:17 |只看作者 |坛友微信交流群
点个赞感谢分享

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注jr
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-27 06:10