技术指南:如何创建通用的区块链智能合约?_AIN:ChainLink

区块链智能合约可以通过集成去中心化Oracle来访问链外的数据。在用户深入研究如何使用它们之前,了解整体情况下区块链智能合约的重要性以及需要Oracle访问数据的原因非常重要。

如今,世界各地每天都在进行大量交易,并且通常受协议或合同约束。这可能是由供应商的服务条款,监管框架或两者的结合所驱动。这些协议的参数并不总是清晰或透明的。他们最终取决于组织及其按照事先约定的条件采取行动的意愿。

越来越多的合同被数字化。区块链技术的兴起引入了智能合约,该系统可防止篡改,透明和公平地管理此类协议。智能合约是通过数学而不是组织来管理的。合同生效后,他们将自动实施合同参数,为所有各方创建一个更公平的结构。

智能合约的挑战在于,它们通常依赖于将现实世界的数据与区块链桥接的能力,以便智能合约可以识别质量,评估可靠的数据并触发商定的结果满足健康)状况。过去,这是一个过于复杂和困难的过程,从而限制了其广泛采用。

Evercore ISI策略师:技术指标支持比特币走强 价格上看75000美元:周二比特币上涨至两周高点,因整体金融市场风险偏好回升。加密货币支持者认为大型金融机构正争先恐后地进入这个市场,Evercore ISI策略师Rich Ross在报告上写道,技术指标支持比特币走强,价格上看75000美元。(金十)[2021/3/10 18:30:18]

关于Chainlink

Chainlink是一个开源抽象层,它提供了一个框架,可以轻松地将区块链与外部API连接起来。您可以将Chainlink视为TCP/IP中传输层的等效区块链,以确保可靠地进出数据。Chainlink旨在成为智能合约的标准数据层,释放其影响外部世界的真正能力,并将其转变为具有外部意识的通用智能合约。

智能合约可以完全改变信任和自动化在业务中的处理方式,但是它们对区块链事件应用范围的限制严重限制了它们的潜力。开发人员希望与之交互的大多数内容都存在于“现实世界”中,例如定价数据,运输条件,全球事件等,以创建通用的智能合约。这些合同具有外部意识,因此在掌握世界数据时可以处理各种常规任务。Chainlink网络为Solidity和其他区块链开发人员提供了构建去中心化Oracle的框架。

观点:ADA技术指标可能会出现回落:8月7日消息,尽管在Shelley成功启动升级后,Cardano吸引了800多个股份池运营商和众多加密货币爱好者的兴趣,但由于近期ADA的价格表现过于平谈,一些散户对其并不看好,如果这个趋势继续下去,ADA的技术指标将会很快回落。(CryptoBriefing)[2020/8/8]

这些Oracle可用于在以太坊网站上实时从分散式应用程序检索数据。

链环适配器

默认情况下,适配器是每个Chainlink节点支持的数据操作功能。在这种情况下,节点是分散的。它们满足数据请求,并且Chainlink网络由越来越多的节点组成。它的节点由许多独立的运营商运营。通过该适配器,所有开发人员都具有用于发送数据请求的标准接口,并且节点操作员将遵循该标准来处理数据。这些适配器包括HTTPGET,HTTPPOST,比较,复制和其他功能。适配器是dApp与外部世界数据之间的连接。

天启资本首席交易员TraderT:高频交易不止于技术指标,应多观察和思考:7月2号19:00,合约帝金牌讲师、天启资本首席交易员TraderT做客MXC抹茶社区,就个人在数字货币合约市场的投资心得进行分享。

TraderT表示,投资主要分为三个步骤:仓位管理;严格的止损;严格的提款本金固定及充值纪律。交易员进行一次交易的判断流程通常是制定计划,包括预判行情、开单计划、止盈止损的点位、突发事件下是否入场等综合因素。每个人都有自己的哈姆雷特,每个人对于技术分析的理解都不同。我做高频交易的思路是,作为“Day Trader”每天需要观察什么,做什么,如何进行高频交易,而不是完全通过技术指标去分析。[2020/7/2]

例如,这是HttpGet适配器的参数:

Get:获取包含APIURL的字符串以请求Get。

标头:包含键作为字符串和值作为字符串数组的对象。

queryParams:获取URL查询参数的字符串或字符串数组。

声音 | 分析师:比特币已在CME和现货交易所爆发,技术指标显示看涨:加密货币分析师Filbfilb今日发推称,“在我看来,比特币已经在CME和现货交易所爆发,OBV(On-balance volume,平衡交易量)已经得到确认,而宏观TFs正在等待更高的价位。也许会有一些横盘和后测,但是所有的一切都让我对市场看涨。”[2020/1/13]

extPath:以斜杠分隔的字符串或字符串数组,以附加到作业的URL。

链环要求

为了使通用智能合约能够与这些适配器交互,还需要其他功能。从ChainlinkClient继承的所有合同都可以创建Chainlink.Request结构,该结构允许开发人员向Chainlink的去中心化Oracle发出请求。该请求应根据要发出的请求将所需的适配器参数添加到结构中。提交此请求需要一些基本字段,例如用作Oracle的节点的地址,jobId和约定的费用。除了这些默认字段之外,您还可以将所需的适配器参数添加到请求结构中:

分析 | 彭博:GTI VERA技术指标在近两个月内首次出现卖出信号:据彭博消息,,随着比特币价格逼近5000美元,彭博对比特币的价格走势发出了新的警告。GTI VERA收敛发散技术指标自3月中旬以来出现了首个卖出信号。这一转变可能表明,未来价格可能还会进一步下跌。总部位于伦敦的区块链投资公司KR1 Plc首席执行官George McDonaugh称,比特币下跌是很自然的。“当比特币在几周前大幅上涨时,交易量足以突破主要阻力位进入一个新交易区间。目前的走势是在交易区间内的自然市场周期,只是市场在寻找下限,有关竞争产品的消息(Bitfinex事件)在市场上引发了一些戏剧性事件和不确定性。”[2019/4/30]

使用这种结构,该请求是灵活的,并且可以被表述为适合各种情况的请求,这些情况涉及从任何API获取,发布和操作数据,因为该请求可以包含任何适配器功能。系统分散的原因是Chainlink的Oracle网络由许多这样的节点组成,开发人员可以根据需要自由选择节点和编号。正如高可靠性dApp经常需要的那样,这可以通过多个源实现冗余故障转移和错误检查。

有关在ChainlinkClient合同中构造请求以及提交请求和接收响应所需的功能的更多信息,您可以查看Chainlink的完整HTTPGET请求示例。

对于常见请求,节点操作员可能已预先配置了现有的Oracle作业,在这种情况下,请求要简单得多。无需构建自定义请求结构并添加必要的适配器。不需要其他适配器参数,并且所选的分布式oracle集将基于创建请求结构时提供的jobId知道如何响应。

您可以使用分散的Oracle数据服务搜索现有的Oracle和受支持的作业,以找到所需的jobId。

外部适配器

但是,如果智能合约具有复杂的用例,并且默认适配器功能不能涵盖该用例,那么应该怎么做?如果需要执行一些高级数据操作怎么办?也许不是要提交给合同的原始数据,而是通过对数据点进行统计分析而生成的多个元数据。可能可以使用默认适配器来操作链上的数据,但希望降低成本。也许由于使用凭证来源,我不希望其API请求出现在链上,也不想在链上或Oracle作业规范中指定这些凭证。这是外部适配器起作用的地方。

由于外部适配器是与ChainlinkOracle节点脱链存在的代码段,因此只要数据输入和输出遵循适配器的JSON规范,它们就可以用他们选择的任何语言编写并执行人们可以想到的任何功能。。外部适配器充当Chainlink分散的Oracle网络与外部数据之间的接口,使节点操作员能够知道如何请求和接收JSON响应,然后在链上使用它们。

通过外部适配器在链外定义此接口规范将带来巨大的可能性:现在可以根据个人安全标准在链外存储API凭据,并且可以使用选择的语言以任何方式对数据进行编程,而无需使用任何以太坊费用用于资助链上交易。从某种意义上说,外部适配器就像分散的Oracle的另一层一样。它以低成本快速地将数据打包到区块链的外部,然后将其转换为整洁的JSON格式,供Chainlinkoracle使用。节点在链上进行了验证。

外部适配器是使Chainlink成为多功能分散式Oracle网络的重要组成部分。合同开发人员可以根据需要自由地实现这些适配器,或者从Chainlink市场上的现有适配器中进行选择。如果它是寻求创建外部适配器的智能合约开发人员,则Chainlink仅需要JSON接口来进行数据请求和返回数据。在这两个界面之间,开发人员可以自由创建和操纵数据以适合他们的用例。作为Oracle节点操作员,要支持外部适配器并处理其他请求,必须在节点用户界面中为其创建桥,并将适配器的桥名称添加到支持的任务中。

您可以在ChainlinkBuildExternalAdapter页面上访问创建外部适配器的完整示例。

Chainlink致力于为区块链和智能合约开发人员提供工具,以便他们可以根据实际需求使用实际数据支持通用智能合约。

Chainlink致力于为区块链和智能合约开发人员提供工具,以便他们可以根据实际需求使用实际数据支持通用智能合约。Chainlink的设计结合了通过默认适配器和可扩展外部适配器对任何API的直接调用,从而为开发人员提供了一个灵活的平台来创建所需的任何数据。这为智能合约打开了一个真实的数据世界,并给出了新的用例。

总结

如果您是一个智能合约开发人员,想要通过外部数据增加智能合约的效用,则需要尝试这个Chainlink示例练习,以部署与链下数据进行交互的通用智能合约。

Chainlink是MIT许可下的开源代码。因此,如果您想开发一种可以从Chainlink的分散式预言中受益的产品,或者想协助Chainlink网络的开发,则需要参考开发人员文档或参与有关Discord的技术讨论。

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

金宝趣谈

[0:0ms0-8:978ms