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

在Solidity智能合约中获取价格数据是DeFi应用的常见需求。在Solidity中为了获取ETH,BTC或者其他加密货币的价格,你可以通过下面两种方式之一完成:使用Chainlink的喂价获取价格数据通过Chainlink预言机使用外部API获取价格数据在本技术教程中,我们将详细讲解这两种方法,并分享代码案例帮助你构建、部署并测试智能合约。首先,我们快速了解一下为智能合约提供外部数据时,数据质量和端到端去中心化的重要性。智能合约对准确、可靠的价格数据的需求

今年DeFi协议呈爆发式增长,DeFi的总锁定价值从一月份6.8亿美金激增到现在的140亿美金。这些DeFi协议依赖外部价格数据作为数据源,因为区块链不能在本地直接访问外部数据。此外这些应用需要提供数据保障来保护应用免遭漏洞利用,如价格预言机攻击等攻击。Chainlink喂价能够降低这些攻击的风险,实现方法是提供聚合自多种高质量数据提供商的数据,并通过Chainlink网络上的去中心化预言机将数据输入到链上。Chainlink的去中心化预言机机制能确保最终的价格数据反映广泛的市场信息覆盖,这意味着最终的价格数据是在汇总整个市场上各种不同的价格数据之后确定的,而不只是一小部分信息,同时也会考虑到其他因素,如成交量和流动性等。现在我们理解了Solidity智能合约对准确、可靠的价格数据的需求以及Chainlink喂价预言机所扮演的重要角色,下面我们将详细解读使用Chainlink喂价获取最新的以太坊价格数据的案例。下面的步骤也能应用到比特币以及其他加密货币。在以太坊上使用Chainlink喂价

欧科云链张超:目前已累计解析超1.5亿地址标签,成全球最大链上地址标签库服务商:4月27日消息,欧科云链副总裁、欧科云链控股执行董事张超在出席“甲子引力X数字经济高峰论坛”时表示,截至目前欧科云链已解析链上超1.5亿地址标签(实体标签、行为标签、属性标签)、数十亿交易记录、超1万条结构化指标,成为全球最大的链上地址标签库服务商。

会上张超表示,未来欧科云链将继续探索区块链底层技术,加强对链上数据的分析、治理,为更多上层的区块链应用添砖加瓦,服务于更多实体的应用层。[2022/4/27 2:33:56]

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

动态 | 以太坊域名服务ENS将加入多代币支持,未来可解析至比特币地址:go-ethereum和以太坊域名服务(ENS)核心开发者Nick Johnson今天在Twitter 宣布,已经提交了ENS以太坊域名的多代币支持,该提议通过后ENS以太坊域名将支持解析域名到多个区块链地址,其中甚至可以包括比特币地址。这也意味着,ENS以太坊域名将可能成为跨链的域名系统,用户可以通过一个域名在多个区块链间互通,未来只需要向其他人展示自己的ENS以太坊域名即可。目前已经有多个数字加密货币钱包支持ENS以太坊域名,在使用以太坊钱包进行转账时,不需要再输入冗长的以太坊0x 地址,而只需要输入短地址即可。[2019/9/9]

第一步是获取测试网的ETH作为智能合约的gas费。在获得一些ETH后,构建一个用上Chainlink喂价的智能合约的最简单的方式是从标准的价格消费者合约开始。这是用于启动对Chainlink喂价请求的基本合约。这部分基于演示目的,我们将使用已经定义在标准的价格消费者合约中的ETH/USD喂价,但是我们将详细解释这部分的代码,便于你了解它的工作原理。首先,我们可以看到AggregatorV3Interface合约接口被导入。这样我们的智能合约就可以引用部署在Kovan测试网络的喂价合约。接着,我们创建一个合约实例并保存到本地变量中。

动态 | 日本Catabira推出基于区块链的数据解析平台:据Prtimes消息,日本信息服务商Catabira宣布推出基于区块链的商业服务级数据解析平台Catabira Insights For Blockchain,将利用区块链技术不可篡改的特性保证调查数据的真实性。[2018/11/8]

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

动态 | 浙江大学携手剑桥大学发布区块链生态深层解析报告:近期,浙江大学互联网金融研究院携手剑桥大学新兴金融研究中心发布区块链生态深层解析报告《Distributed Ledger Technology Systems-A Conceptual Framework》的中文版——《分布式账本技术系统:一个概念框架》。浙大AIF副院长杨小虎指出,该报告不仅阐明了如何识别DLT系统,分析和比较现有的DLT系统,还通过六个实例为新系统设计提供有用的借鉴。[2018/8/17]

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

声音 | 陈纯:除了研究区块链技术本身外 还需要研究如何监管:1月12日,中国工程院院士陈纯在CCF通讯刊文《联盟区块链关键技术与区块链的监管挑战》,文中提到,区块链作为重要的底层基础设施,在其快速发展的过程中,我们要高度重视安全问题。因此,我们除了研究区块链技术本身外,还需要研究区块链如何监管。公有链已经成为新媒体的传播媒介,因为公有链本身具有去中心化、不可篡改、不可删除、低成本的特点。利用区块链去传播有害信息、网络谣言、煽动性与攻击性信息,会给区块链技术的产业布局和发展带来不利影响,同时给监管部门带来很大的挑战。[2020/1/13]

部署和测试智能合约

现在我们准备部署和测试我们的合约。在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的预言机框架还提供了可以快速、轻松地获取其他价格数据的灵活性,如股票、商品和其他资产的价格数据。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

FilEST:解析:以太坊矿池拒绝打包攻击

撰文|NESTResearch研究组,Yuheng&Yuyi出品|NEST爱好者授权发布分析案例:针对NEST预言机的矿池拒绝打包攻击一、引言与单纯基于可信任第三方的中心化预言机不同.

MEXCFOR:艺术代币化的历史

编者按:本文来自萌眼财经,Odaily星球日报经授权转载。概要1)行业内的一个主要问题是中心化。2)区块链特性将大大减少甚至完全消除欺诈行为.

[0:0ms0-7:391ms