宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > ADA > 正文

如何在Solidity中获取ETH、BTC和其他加密货币的当前价格

作者:

时间:1900/1/1 0:00:00

在Solidity智能合约中获取价格数据是DeFi应用的常见需求。在Solidity中为了获取ETH,BTC或者其他加密货币的价格,你可以通过下面两种方式之一完成:使用Chainlink的喂价获取价格数据

通过Chainlink预言机使用外部API获取价格数据

在本技术教程中,我们将详细讲解这两种方法,并分享代码案例帮助你构建、部署并测试智能合约。首先,我们快速了解一下为智能合约提供外部数据时,数据质量和端到端去中心化的重要性。

智能合约对准确、可靠的价格数据的需求

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

Safe:将通过SafeDAO决定如何处置初始分配的ARB代币:5月11日消息,数字资产管理平台Safe(原GnosisSafe)表示,将代表Safe生态接收Arbitrum基金会初始分配的ARB代币,并将在Safe DAO论坛上发帖,以决定如何分配这些资金,同时公布了资金接收地址。此前报道,Arbitrum面向DAO的空投总计1.13亿枚(1.13%),其中Safe获得257540枚。[2023/5/11 14:56:14]

Chainlink喂价能够降低这些攻击的风险,实现方法是提供聚合自多种高质量数据提供商的数据,并通过Chainlink网络上的去中心化预言机将数据输入到链上。Chainlink的去中心化预言机机制能确保最终的价格数据反映广泛的市场信息覆盖,这意味着最终的价格数据是在汇总整个市场上各种不同的价格数据之后确定的,而不只是一小部分信息,同时也会考虑到其他因素,如成交量和流动性等。

直播 |“后浪”仙女鱼池-青青如何乘风破浪:金色财经 · 直播主办的《 币圈 “后浪” 仙女直播周》第7期11:00 F2Pool 鱼池|CMO青青将在直播间聊聊“币圈‘后浪’仙女如何乘风破浪”,感兴趣的朋友扫码移步收听![2020/7/2]

现在我们理解了Solidity智能合约对准确、可靠的价格数据的需求以及Chainlink喂价预言机所扮演的重要角色,下面我们将详细解读使用Chainlink喂价获取最新的以太坊价格数据的案例。下面的步骤也能应用到比特币以及其他加密货币。

在以太坊上使用Chainlink喂价

Chainlink喂价使用多种高质量的数据输入,并通过Chainlink预言机的去中心化网络聚合这些数据,将价格数据输入到参考合约中,这些数据结果会在聚合器智能合约中聚合成为最新的价格数据作为可信答案。使用多种节点聚合的多种数据源,我们能够确保我们的价格数据达到最高质量,并且不会遭受漏洞利用或者价格预言机攻击。

动态 | V神阐述如何进行ETH委托挖矿:V神回复网友提问“1.可以通过合约合租一个validator(平民化参与,共享投票身份)吗?2.一个客户端可以跑多个valifator (共享机器)吗?”表示,“你开一个validator,需要设置两个公钥:签名的公钥和取款的公钥。Phase 2后,不一定需要设置取款公钥,也可以设置取款合约。签名的私钥能withdraw,withdraw完成后validator里面的资金都给取款合约的地址。所以你开新的validator到时候,可以先发比如1以太币,设置取款合约,这个合约的规则是,谁deposit多少谁按照比例withdraw多少。一段时间后,你发withdraw的交易。现在因为奖励这个validator的balance是33.6以太币(加 5%),33.6以太币给合约,合约的规则分配1.05给你,8.4, 10.5和13.65 给其他的参与者。签名的私钥是你的,谁能withdraw多少的规则是合约定的。别人能看一个还未activated的validator的withdraw合约的规则,如果他们觉得是合理的,则他们能发他们的币给这个validator,这个是委托的方法。”[2019/10/22]

创建智能合约

声音 | Jeffrey Wernick:华尔街不喜欢比特币 不知如何用它讲好故事:芝加哥大学经济学与金融学博士、区块链和比特币项目早期参与者、Uber和Airbnb早期投资人Jeffrey Wernick称,华尔街不喜欢比特币,或因不知如何用其讲好故事拿下高估值。Wernick认为,现在的华尔街的公司估值模式已经从传统的现金流折现模型(DCF)转向通过炒作故事概念来获取高估值。他认为,DCF是里的清的帐,可以通过现有现金流、未来增长预期和折现率定价求得。在这种模式下的高估值是因为,低融资成本下的低折现率导致的。Wernick解释,在炒作概念的估值模式里,项目方会找博士来撰写估值模式和框架,并称这是正确的估值方法,接着再找更多人的输出类似的观点,造成一个所谓的共识,最后再说服其他人接受这一共识。之后,他们会如法炮制的输出“为什么这家公司估值应该比去年更高“的共识。但是,这些始终都是概念。Wernick还指出,特斯拉就是通过炒作概念来获取高估值的,通过不断地讲故事来维持高估值、保证投资人不受损失。[2019/6/21]

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

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

接下来,我们可以看到喂价参考合约在构造函数中被初始化。Kovan测试网上的ETH/USD喂价参考合约部署在地址为0x9326BFA02ADD2366b30bacB125260Af641031331上。

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

部署和测试智能合约

现在我们准备部署和测试我们的合约。在Remix中编译合约,然后在“部署”选项上,将环境更改为“InjectedWeb3”,并确保下面的钱包地址是你的MetaMask钱包中包含前面获得ETH的钱包地址,点击部署按钮,然后按照步骤操作即可。最终结果是你将智能合约部署到了Kovan测试网。需要记录一下通过Remix控制台中的事务输出记录的已部署的合约地址。

部署后,我们只需要执行“getLatestPrice”函数。结果应该是该函数从ETH/USD聚合器合约返回的最新价格,然后可以在我们的智能合约中链上调用这个数据。注意我们不需要为请求发送任何LINK代币,也不使用任何ETH,该交易纯粹是读取链上ETH-USD聚合器合约中的数据。

ETH/USD喂价结果

在Solidity中获取其他价格数据

Chainlink喂价提供了大量的位于头部的DeFi价格对的价格数据。如果你需要在你的智能合约中获取的资产价格数据没有被现有的喂价合约覆盖到,比如特定的股票的价格,你可以自定义Chainlink预言机以调用任何的外部API。使用Chainlink预言机获取外部价格数据的最简单方法是从标准Chainlink的APIConsumer合约开始。这是通过Chainlink预言机来启动对外部数据请求的标准化合约。

完成创建APIConsumer合约后,就可以去找到想要从中获取价格数据的API。如,你可以使用AlphaVantageAPI查找IBM股票的当前价格。

有了API端点后,你只需要在合约中设置正确的参数并将请求发送给Chainlink预言机。可以在Chainlink文档中找到有关此内容以及如何使用标准APIConsumer合约的更多信息。

请记住在生产环境中,你将会希望把这种使用方法去中心化,或者从喂价合约本身获取此特定数据。

总结

Chainlink喂价提供了一种可靠的方法来获取高质量的比特币、以太坊以及其他加密货币价格数据到Solidity智能合约中。此外,Chainlink的预言机框架还提供了可以快速、轻松地获取其他价格数据的灵活性,如股票、商品和其他资产的价格数据。

标签:INKLINKNLINKCHAtronlink的官方网站地址tronlink波宝钱包官网tronlink钱包安全吗ABC.Chain

ADA热门资讯
状元论币:2月24日比特币行情分析 暴跌之后,是稳固还是结束

人生长途漫漫,我们不可能每一步都走得那么完美,摔上几跤,走几段弯路,这并非坏事,至少让我们品尝了挫败,增添的阅历,让我们的人生多姿多彩。或许走过终点时我们才明白,一路平坦却少了风景,没有转折也多了平淡.

1900/1/1 0:00:00
常见套路说明

提币一旦完成,数字资产即为对方地址所有,建议您做好识别,谨防各类形式的手段。整理场景套路如下: 投资类 1.取得联系:通过社交平台添加微信、QQ、telegram等拉您入群.

1900/1/1 0:00:00
每日行情解读 | BTC短线预计受阻回落,后市整体震荡走高

美联储主席鲍威尔表示,宽松货币政策将继续存在。这有效打消了市场预期加息的忧虑,美联储继续放水,对于比特币持续上涨仍将起到推升作用。比特币本轮属于健康回调,后市仍有上涨空间.

1900/1/1 0:00:00
霍比特关于2月24日上线MATIC聚合交易币对的公告

尊敬的社区用户: 霍比特交易所将于2021年2月24日17:00上线MATIC/USDT聚合交易对。由于MATIC为聚合交易币对,所以暂时不开放充币和提币,充币和提币开放时间之后将会以公告另行通知.

1900/1/1 0:00:00
Hotbit 定于2021年2月24日上线 MASK (Mask Network)

尊敬的用户: Hotbit即将在开启MASK(MaskNetwork)数字资产服务。 具体安排如下: 充值时间:2021年02月24日18:00??(香港时间)交易时间:2021年02月24日24:00??(香港时间),用户可于18:.

1900/1/1 0:00:00
2.24 以太坊行情走势分析

行情观点:小时级别来看,早盘以太短线下挫插针至1500.31一线强势反弹,震荡上涨,突破午夜高点1609.88一线,目前持续在1620附近整理,早间给出操作建议:1570-1580附近空单,目标1500-1480,止损1610.

1900/1/1 0:00:00