跳至正文
-
欢迎您时常回来看看,不错过任何精彩文章。收藏本站!
第七手机网

中国大型手机资讯类网站! https://www.7shouji.com

第七手机网

中国大型手机资讯类网站! https://www.7shouji.com

  • 首页
  • 资讯
  • 热门品牌
  • 新机曝光
  • 安卓频道
  • 苹果频道
  • 智能家居
  • 手游
  • 5G频道
  • VR
  • 趣闻
  • 智能生活
  • 首页
  • 资讯
  • 热门品牌
  • 新机曝光
  • 安卓频道
  • 苹果频道
  • 智能家居
  • 手游
  • 5G频道
  • VR
  • 趣闻
  • 智能生活
关

搜索

行业

如何创建通用的区块链智能合约

作者 dawei
2020年12月17日

【51CTO.com快译】区块链智能合约能够通过集成去中心化的Oracle来访问链外数据。用户在深入研究如何使用它们之前,重要的是要了解区块链智能合约在全局中的重要性以及为什么需要Oracle来访问数据的原因。

如何创建通用的区块链智能合约

如今,全球每天都在发生大量交易,并且它们通常受到协议或合同的约束。这可能是由供应商的服务条款、监管框架或两者的组合所驱动的。这些协议的参数并不总是明确或透明的,它们最终取决于组织以及它是否愿意按照事先商定的条款行事。

越来越多的合同正在实现数字化。区块链技术的兴起引入了智能合约,这是一种防止篡改、透明、公平的管理此类协议的系统。智能合约是由数学而不是组织来管理的。一旦合同生效,它们会自动执行合同的参数,为各方创造一个更加公平的结构。

智能合约的挑战在于,它们通常依赖于将现实世界数据与区块链(或数据从一个区块链转移到另一个区块链)进行桥接的能力,以便智能合约能够识别质量、评估可靠数据并触发商定的结果满足条件。而在以往这是一个过于复杂和困难的过程,限制了更广泛的采用。

关于Chainlink

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

智能合约可以彻底改变业务中信任和自动化的处理方式,但是它们对区块链事件应用范围的限制严重限制了其潜力。开发人员希望与之交互的大部分内容都存在于“真实世界”中,例如定价数据、航运条件、全球事件等,以创建通用智能合约。这些合约具有外部意识,因此可以在掌握世界数据的情况下处理广泛而通用的工作,Chainlink网络为Solidity和其他区块链开发人员提供了一个用于构建分散式Oracle的框架。

可以使用这些Oracle在以太坊网站上实时检索分散应用程序(dApp)的数据。

Chainlink适配器

适配器是每个Chainlink节点默认支持的数据操作功能。节点在这种情况下是分散的。它们满足数据请求,而Chainlink网络由数量不断增长的节点组成。其节点由众多独立的运营商运营。通过适配器,所有开发人员都具有用于发出数据请求的标准接口,而节点操作人员将遵循用于处理该数据的标准。这些适配器包括HTTP GET、HTTP POST、比较,复制等功能。适配器是dApp与外部世界数据的连接。

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

Get:获取包含API URL的字符串以向Get请求。

headers:将包含键作为字符串,将值作为字符串数组的对象。

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

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

Chainlink请求

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

//设置网址以在上执行Get请求

request.add("get", "https://min-api.cryptocompare.com/data/price?fsym=ETH&tsyms=USD");

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

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

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

这一示例来自完整的CoinGecko Consumer API:

Chainlink.Request memory req = build Chainlink Request(jobId, address(this),this. fulfill Ethereum Price.selector);send Chainlink Request To(oracle, req, fee);

可以使用分散的Oracle数据服务(例如Chainlink Market)搜索现有的Oracle及其支持的作业以找到所需的jobId。

外部适配器

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

如何创建通用的区块链智能合约

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

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

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

如何创建通用的区块链智能合约

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

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

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

使用Chainlink进行构建

如果是智能合约开发人员,希望通过外部数据增加智能合约的实用性,需要尝试此Chainlink示例演练,以部署与链外数据进行交互的通用智能合约。

Chainlink是根据MIT许可证开放的源代码,因此,如果要开发一款可以从Chainlink分散式预言中受益的产品,或者想协助开发Chainlink网络,需要参考开发人员文档或参加有关Discord的技术讨论。还可以在Chainlink的网站、Twitter、Reddit、YouTube、Telegram和GitHub上了解更多信息。

原文标题:Create universal blockchain smart contracts,作者:Gage Mondok

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

赞助本站

标签:

区块合约如何建通智能用的
作者

dawei

【声明】:第七手机网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

关注我
其他文章
上一个

德国新法案使数字化证券合法化,推进区块链上的证券交易

下一个

张裕运用区块链技术搭建行业平台 试解市场假冒伪劣难题

广告

最新文章

  • 5G新纪元!三星Galaxy S26+极速领航 2026年7月25日
  • iPhone 17 5G新纪元,手机达人必看速览 2026年7月25日
  • 华为nova 15 Ultra:5G先锋,畅享极速通讯新体验 2026年7月25日
  • 荣耀Magic8 Pro:5G智联,畅享极速未来 2026年7月25日
  • Xiaomi 17 Pro Max:5G先锋,通信新纪元 2026年7月25日

广告

云标签

5G Galaxy iPhone iQOO OPPO Pro Realme Redmi vivo 一加 三星 中国 京东 人工智能 体验 全球 区块 华为 发布 小米 微软 怎么 性能 手机 技术 数智网 新机 旗舰 智能 智能家居 曝光 机器人 正式 游戏 科技 系列 美国 芯片 苹果 荣耀 谷歌 运营商 骁龙 高通 魅族

广告

友情链接:155手机网 151手机网 185手机网

第七手机网

大型手机资讯类网站! https://www.7shouji.com

Copyright 2026 — 第七手机网. All rights reserved.