木星链 木星链
Ctrl+D收藏木星链

LINK:教程:通过Chainlink预言机构建参数化保险智能合约

作者:

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

区块链技术具有独特的属性,可以用来创建创新性的去中心化保险产品,为保险供应商和客户带来诸多好处。在本技术教程中,我们将向您展示:去中心化参数化保险合约的主要特点为什么Chainlink预言机在这些新的保险产品中起着举足轻重的作用在去中心化保险合约中使用ChainlinkPriceFeed的优势如何把所有的东西放在一起,创建一个可用的参数化作物保险合约如何使用Chainlink节点来自动更新保险合约下面例子的完整代码可以在Remix或GitHub上查看,包括下面提到的所有功能以及所有需要的帮助函数。去中心化保险

去中心化保险利用区块链技术和智能合约来取代传统的保险协议。去中心化保险产品主要有三大特点。数据驱动的自动化

去中心化保险合约最重要的一点是,它是数据驱动和自动执行的。这意味着保险合约在不需要人工干预的情况下自动执行逻辑,依靠从外部获取的安全准确的数据来决定合约逻辑的执行。这些保险智能合约还可以与外部输出连接,如支付处理器或企业财务系统,以方便触发支付。智能合约

智能合约代表了保险人与客户之间的保险合同,它实质上是保险人对客户指定类型的损失、破坏或责任进行赔偿的承诺,如果是参数保险,则是对冲特定事件发生的风险。它包含了保险合同的所有细节,如指数、客户支付的细节、合同日期或期限、指数的测量地点、阈值和商定的赔付值。由于保险合约存储和执行在通常运行在大量节点上的区块链上,因此它具有高度确定性,不容易被黑客攻击或篡改。理赔流程

与传统的保险合同不同,去中心化保险合约中,理赔过程是作为合约执行的一部分自动处理的。客户不需要提交理赔,不需要提供任何证据,也不需要与保险公司或智能合约有任何互动。当智能合约认为应该发生赔付时,赔付将作为合约执行的一部分自动触发。这可以通过直接向客户进行链上支付,也可以通过智能合约连接的外部支付通道或金融系统来完成。创建数据驱动的参数化保险合同

现在,我们已经了解了什么构成了一个去中心化的参数化保险合约,我们将通过构建一个简单的例子来展示上述三个概念。在这个场景中,我们将创建一个具有以下属性的参数化农作物保险合约:如果在指定时间内没有降雨,合同将向客户支付约定的价值,目前设置为三天,以便于演示。合同将从两个不同的数据源获取降雨数据,以缓解任何数据完整性问题,然后对结果进行平均。该合约将以相当于美元价值的ETH全额出资,用于约定的赔付金额,以确保在触发索赔时的完全确定性。它将使用ChainlinkETH/USDPriceFeed来确定合约所需的ETH数量。

Upbit母公司Dunamu Q1财报:营业利润达1.6亿美元,同比减少逾26%:5月30日消息,Upbit 母公司 Dunamu 在 2023 年第一季度的合并营业收入(销售额)为 3048 亿韩元(约合 2.31 亿美元),比去年同期减少 28.6%;营业利润为 2119 亿韩元(约合 1.6 亿美元),比上年同期(2878 亿韩元)减少 26.3%;净利润为 3263 亿韩元(2.47 亿美元),同比增加 54.9%。[2023/5/30 11:48:15]

去中心化保险架构建立保险合约工厂

首先,我们需要创建一个主"合约工厂"合约,它将生成多个保险协议,并允许我们与它们进行交互。这个合约将由保险公司拥有,并为每个生成的保险合约提供足够的ETH和LINK资金,以确保保险合约一旦生成,就能在其整个存续期内执行所有需要的操作,包括赔付。首先,我们的Solidity代码包含两个合约,一个是InsuranceProvider合约,一个是InsuranceContract合约。InsuranceProvider合约会生成很多保险合约。InsuranceProvider合约的构造函数初始化了Kovan网络上的ChainlinkETH/USDPriceFeed。InsuranceContract合约的构造函数定义如下,后面会进一步充实。

InsuranceProvider合约的一般结构如下:每个生成的合约都存储在保险合同的`contracts`map中以生成的合同的Ethereum地址作为键。值是一个实例化的InsuranceContractSolidity智能合约。

`newContract`函数接收所需的输入并生成一个新的保险合约,按照之前定义的构造函数定义传递所有所需的参数。它还会发送与支付金额相等的ETH,从而使生成的合约资金充足。它使用ChainlinkETH/USDPriceFeed来完成这个转换。然后,它将生成的合约存储在`contracts`map中,并将足够的LINK传输到生成的合约中,这样它就有足够的数据请求每天两次,并且有一个余量。这个余量是为了考虑到合约到期后可能需要额外调用的时间问题。当合约结束时,任何剩余的LINK都会被返还给保险提供商。

新加坡授予Circle提供支付产品的原则性许可证:金色财经报道,稳定币发行商Circle已获得新加坡金融管理局(MAS)的原则性许可证,允许其作为支付公司在新加坡运营。

Circle向新加坡央行申请了大型支付机构许可证,根据一份新闻稿,它现在可以提供跨境和国内支付服务。该公司是USDC稳定币背后的公司,也可以提供代币产品。Circle首席执行官杰里米·阿莱尔在一份声明中表示,该许可证将有助于Circle的全球扩张计划。

今日早间报道,稳定币发行商Paxos获得新加坡监管机构颁发的运营许可证。(coindesk)[2022/11/2 12:08:14]

`updateContract`函数用于更新保险合约的数据,并检查是否达到了触发付款的阈值,或者合约是否已经到了结束日期。

最后,`getContractRainfall`函数用于返回给定保险合同的降雨量,`getContractRequestCount`函数用于查看有多少数据请求成功地传回保险合约。

获取外部数据

生成的保险合约需要获得外部数据才能正常执行。这就是Chainlink网络发挥作用的地方,因为你可以使用它将保险合约连接到多个降雨数据源。在这个例子中,我们将在两个不同的Chainlink节点上使用JobSpecification,从两个不同的天气API中获取数据,然后将在链上取平均值来得出最终结果。这两个天气API都需要注册获得一个免费的API密钥在每个请求中使用。-WeatherBitWeatherAPI-LinkPoolGET>Uint256Job-SteelblockGET>Uint256Job一旦我们记下了WeatherAPIkey以及上面的JobSpecificationId和oracle合约,我们现在就可以创建`InsuranceContract`合约,填写所需的常量字段。在生产场景中,这些常量字段会被私有存储在Chainlink节点上,在链上是不可见的,但为了方便跟随演示,它们被留在了合约中。我们还存储了所需的JSON路径,当Chainlink节点从每个API中获取天气数据时,我们要遍历这些路径来找到每日总降雨量。

Web3游戏工作室Gallium Studios完成600万美元融资:8月22日消息,Web3 游戏工作室 Gallium Studios 宣布完成 600 万美元融资,本轮融资由 Griffin Gaming Partners 参投。Gallium Studios 由传奇视频游戏设计师、《模拟人生》系列开发者 Will Wright 和《卡门·山迪亚哥在哪里?》开发者 Lauren Elliott 成立,旨在制作无缝融合最新 Web3 和 AI 技术的面向创作者的模拟游戏。

Gallium 的参与项目包括为 Gala Games 设计的元宇宙 VoxVerse 和记忆模拟游戏 Proxi,两者都使用到区块链技术。据悉,Gallium Studios 已与区块链技术公司 Forte.io 达成合作,以增强玩家在游戏经济中的所有权,并为玩家提供对区块链和 Web3 技术的无缝访问。[2022/8/22 12:41:37]

完成保险合约

下一步是完成保险合约,它代表客户和保险公司之间的作物保险合同。该合约被实例化,所有所需的值都传递到构造函数中。它还做了以下工作:使用ChainlinkETH/USDPriceFeed来检查是否有足够的ETH被发送,以确保在触发支付时有足够的资金。设置合约执行所需的一些变量将JobId和oracle数组设置为包含从上面“获取外部数据”部分的两个JobSpecification中获取的值。然而,如果你想运行你自己的Chainlink节点,将两个请求都设置为使用你的JobSpecification和oracle合约,这样就可以看到每个Job的输出。这样做需要在market.link上创建一个新的JobSpecification,和这个例子一样,只需要修改runloginitiator中的地址为你的oraclecontract。

然后,我们创建一个函数来调用,以从每个Chainlink节点和天气API中请求降雨数据。这个函数被主保险提供者合约所调用。它为每个请求建立了所需的URL,然后为每个请求调用`checkRainfall`函数。但在这之前,它调用了一个`checkEndContract`函数来检查合约结束日期是否已经到了,并且只有在合约仍然有效的情况下才会继续。这个`checkEndContract`函数定义如下。

非洲区块链市场2022 H1获得超3亿美元投资:金色财经报道,2022年上半年,非洲的区块链公司共获得了 3.04 亿美元的投资资金。此外,以加密货币为中心的支付也在增长,在 2020 年 7 月至 2021 年 6 月期间飙升了 1,200%。南非标准银行区块链 COE 负责人Ian Putter表示,肯尼亚、尼日利亚和加纳已经看到加密资产的迅速普及,以访问由区块链网络提供的更有效的支付路径,并通过与美元价值挂钩的比特币或稳定币等资产产生收入回报。此外,网络攻击在今年第二季度在非洲显着上升,共检测到 10,722,886 次网络钓鱼攻击。(thisdaylive)[2022/8/8 12:09:17]

现在我们可以创建`checkRainfall`函数。这是实际执行外部数据请求的函数。它接收所有需要的参数,建立一个请求,然后将其发送到指定的Chainlink节点oracle合约。在我们的演示中,传递到`checkRainfall`函数中的`_path`变量的值用来遍历请求返回的JSON的路径,找到当前的降雨量。这些值取决于调用哪一个天气API,这两个选项都存储在我们的合约中的静态变量中,并根据需要传递到`_path`函数参数中。WorldWeatherOnlineAPIresponseformatWeatherbitAPIresponseformat

然后,我们创建一个回调函数,当Chainlink节点发回响应时调用。这个函数接收指定位置的更新雨量数据,如果是第二次数据更新,则执行取平均计算,然后用最新的雨量数据更新合约。回调函数还根据当前合约的降雨量数据检查是否实现了参数化损失。本例中,它根据给定的阈值检查连续无雨天数。如果满足赔付条件,则调用`payoutContract`函数。

赛门铁克提示Clipminer加密劫持恶意软件风险:黑客至少已赚取170万美元:金色财经报道,据赛门铁克研究人员表示,一款名为 Trojan.Clipminer 的恶意软件利用受感染系统的计算能力来挖掘加密货币,并在剪贴板文本中识别加密钱包地址,然后将其地址信息替换进行重定向交易。研究发现,indows 恶意软件的第一批样本出现在 2021 年 1 月,然后在 2 月份开始传播他们还观察到,Clipminer 和另一种加密木马软件 KryptoCibule 之间在设计上有一些相似之处,但目前无法确认 Clipminer 和 KryptoCube 是否由同一黑客发布。

据悉,该恶意软件总共拥有 4,375 个由攻击者控制的唯一钱包地址,赛门铁克研究人员查看了比特币和以太坊钱包地址,发现当时他们持有大约 34.3 个比特币和 129.9 个以太坊,这意味着黑客至少赚取了 170 万美元。(theregister)[2022/6/4 4:01:33]

接下来我们创建`payoutContract`函数。这个函数作为理赔处理步骤,执行保险人向客户自动支付约定的价值。我们在这里格外小心,确保它只能在合约仍处于激活状态时被调用,并且只能被其他合约函数在内部调用。它还将任何剩余的LINK返回到保险提供商主合同,并将合约设置为已完成状态,以防止对其进行任何进一步的操作。

}最后,我们创建一个函数来处理这样的场景:合约结束日期已经到了,还没有触发支付,我们需要归还合约中的资金,然后标记为结束。该函数执行检查整个合约是否收到足够的数据请求。每天需要收到一个数据请求,总计只允许漏掉一个请求。因此,如果合约的持续时间为30天,则必须有至少29个成功的数据请求。如果合约在其生命周期内收到足够的请求,所有资金将被退回给保险供应商。否则,如果在整个合约的存续期内没有足够的数据请求,客户就会自动收到作为退款的保费,而保险商则会拿回任何剩余的资金。这个方案还利用ChainlinkETH/USDPriceFeed来确定正确的ETH数量,将其返还给客户。这个检查给客户一定程度的保证,保险提供商不会试图通过不更新降雨量数据来玩弄合约,直到达到结束日期。该函数还将返回任何剩余的LINK回保险提供商合约。

部署和测试合同

首先,我们需要部署InsuranceProvider合约,并用一些ETH和LINK为其提供资金,以便在生成的InsuranceContract合约中使用。完成这些工作后,我们就可以创建一个新的InsuranceContract,传递所需的值。请注意以下几点。持续时间的单位是秒在这个演示中,1天被缩短为60秒,所以合同期限300秒代表5天。premium和payoutValue参数以美元为单位,乘以100000000,例如100美元就是10000000000。

创建一个新的保险合同当保险合同生成后,我们可以通过Etherscan中的交易或通过交易输出获取其地址。

在Etherscan上查看生成的合同然后,我们可以将生成的合同地址,传入`updateContract`函数,开始将降雨量数据传入合同中。

更新保险合约当两个Chainlink节点都处理了作业请求并返回一个结果后,我们就可以调用`getContractRainfall`和`getContractRequestCount`函数来查看平均降雨量的更新,以及数据请求数的增加。一个数据请求意味着两个节点都返回了一个结果,取平均值之后存储在合约中。在本例中,爱荷华州目前两个数据源的平均降雨量为0.6mm。我们还可以调用帮助函数`getContractStatus`来验证合同是否还处于活动状态。

获取保险合约的状态在合约有效期内,每天应重复此步骤,结束合约。如果无雨天数达到`DROUGHT_DAYS_THRESHOLD`中设置的阈值,合约将向客户支付约定的金额,合约状态结束。为了达到演示的目的,我们又为一个没有降雨的地点创建了一个保险合约,并在三分钟内重复上述步骤三次,以演示在赔付时发生的情况。在这个案例中,我们可以看到最新的降雨量为0,请求次数为3,合同不再处于活动状态。

获取保险合同的状态如果我们再去以太坊上检查该合约,就会发现约定的美元ETH赔付值已经转回了上面创建合约时指定的客户钱包地址,而保险合约已经不再持有任何ETH或LINK。由于保险合约现在处于完成状态,所以后续对保险合约的任何操作都会被拒绝。

验证保险合约的支付情况自动更新数据

在当前版本的合同中,必须有人手动调用`updateContract`函数来让合约与Chainlink节点通信并获取降雨量数据。这并不理想,因为它需要在整个合约期限内多次调用。一个好的自动化方法是利用Chainlink节点的croninitiator。croninitiator是一种使用简单的cron语法在Chainlink节点上调度循环Job的方法。在这种情况下,我们可以做的是在Chainlink节点上创建一个新的JobSpecification,使用croninitiator每天触发一次JobSpecification。但为了本演示的目的,我们将根据前面提到的常量SECONDS_IN_DAY,将其设置为每分钟触发一次。JobSpecification的剩余部分将简单地在每次Cronjob触发执行JobSpecification时,调用部署的智能合约`updateContract`函数。这个想法是,保险前端将拥有所有相关的细节,并可以将它们传递进来。

我们的想法是,去中心化的保险应用前端将向Chainlink节点API发送请求,动态生成新的JobSpecification,并提供节点自动开始定期更新保险合同所需的所有正确细节,而不必通过Chainlink节点前端接口手动创建这个工作规范。要做到这一点,首先我们需要Chainlink节点的IP地址和端口,以及登录节点的用户名和密码。这些都是用来生成下一次请求的cookiefile。

完成了这些工作后,我们会得到一个响应,以显示认证成功。

然后我们可以向Chainlink节点API发送另一个POST请求,这次是向/v2/specs端点发送。请求中的JSON是定期更新的生成的保险合约的地址,以及开始和结束的日期/时间,这样节点就知道什么时候停止定期更新保险合约。

这个命令会在返回一个成功的消息,其中包含了生成的JobSpecification的细节。在这之后,你就可以登录到Chainlink节点前端,并看到新创建的JobSpecification。

Cron启动器工作规范语法JobSpecification创建后,它就会按照croninitiator中设置的参数开始执行请求。我们可以在Chainlink节点前端监控到这一点。

节点成功地完成了请求后可以回到智能合约,看到它的状态已经成功更新。

总结

在这篇技术文章中,我们已经演示了如何建立一个去中心化的作物保险产品,以补偿农民的干旱期。我们已经展示了保险合约拥有准确和去中心化数据的重要性,以及Chainlinkoracles在安全提供这些数据方面的作用。我们还演示了如何利用连接到外部数据和事件的确定性智能合约来彻底降低处理保险理赔的开销和管理成本,以及在合约条款以美元为基础却以加密货币支付的情况下,如何利用Chainlink去中心化喂价送来准确确定正确的赔付金额。最后,我们还演示了Chainlink节点croninitiator如何与Chainlink节点API结合使用,以自动安排和执行智能合约更新。虽然这个演示包含了许多功能,但它可以作为一个基本模板来构建一个完整的、功能丰富的去中心化保险产品。开发者可以在这个模板的基础上以各种方式进行构建,比如去掉人工数据聚合,利用Chainlink的聚合器或PreCoordinator合约。另一种选择是将保险合约证券化,并将其作为DeFi生态系统或其他市场的抵押品。如果您是开发人员,并希望将您的智能合约连接到链外数据和系统,请访问开发文档并加入Discord上的技术讨论。如果您想安排电话讨论更深入的集成,请在这里联系。

标签:LINKINKAINChainlink币未来的价值MalinkaSwagChainBlockChain Search Artifacts

SHIB最新价格热门资讯
MON:摩根大通高管就稳定币监管和加密支付竞争发表看法

编者按:本文来自Cointelegraph中文,作者:ANDREWTHURMAN,Odaily星球日报经授权转载.

1900/1/1 0:00:00
以太坊:从以太坊的发展路径细究世界的可扩展性

近期,比特币持续上涨带动了一大波牛市,以此为基线,许多山寨币开始拉盘上涨,在这波牛市下逐渐展露头角.

1900/1/1 0:00:00
数字货币:星球前线 | IMF报告:仅有40家央行可合法发行数字货币

Odaily星球日报译者|念银思唐各国正朝着创建数字货币的方向快速发展。换句话说,我们获悉的各种调查显示,越来越多的央行在实现官方数字货币方面取得了实质性进展.

1900/1/1 0:00:00
稳定币:加密稳定币报告:持续增长下仍有不确定性

作者:MYKEY研究员姚翔快速预览主要稳定币的流通市值达到282.5亿美元,月均值246.6亿美元,月均值增长11.5%.

1900/1/1 0:00:00
区块链:政府主导的区块链产业园区普查报告 (2020)

报告摘要:1、根据01区块链的不完全统计,截至2020年12月末,全国共有各类区块链产业园区44个,由政府或有政府背景的社会组织主导或引导开发建设的区块链产业园区或区块链产业集聚载体共23个.

1900/1/1 0:00:00
ETH:1.14早行情:灰度归来,比特币上涨近10% | 烤仔星选

昨天行情整体上分为几个阶段,一是早上开盘后继续下探引起市场恐慌,但随后便开始上涨,到了下午乃至晚上原本应该最活跃的时候选择了震荡,到了半夜两点的时候,方才快速拉盘.

1900/1/1 0:00:00