使用chainlink外部适配器连接去中心化基础设施的组件是chainlink网络帮助简化智能合约开发人员新用例的构建和完全去中心化应用程序的一种方式。
;
ETH在线;哈卡顿;toshiake Takase和Tsukasa Noguchi的ETHlink获奖者使用chainlink的预言机基础设施和IPF,使基于奥迪区块链的音乐流媒体平台上的艺术家能够将币代奖项分发给他们的粉丝,而无需支付数百笔个人交易的高昂费用。
;
在本文中,iroiro团队展示了如何使用chainlink连接到IPFs,以实现经济高效的代币分发以及以太坊的各种其他基础设施用例。
1.介绍
;
以太坊上的Erc20代币标准不仅可以用作币,还可以用作公用事业代币。
;
在这种情况下,我们重点关注创作者和粉丝之间代币通信的有效性,并开发了;Iroirordquo;作为一个平台,艺术创作者可以生成自己的ERC20代币并分发给粉丝。
;
这种Creator代币有很多潜在的用例,根据创建者的不同,将这些代币分发给粉丝的目的也会有所不同。有时只是表达感激之情,有时是为了获得专有内容或体验,比如私人聊天频道、现场或直播节目。潜在**奖项的范围是艺术家可以探索的另一个创作空间。
;
然而,以太坊目前的交易成本为许多交易设置了障碍。寄一张代币的费用很容易超过艺术家从忠实粉丝那里得到的任何好处。为了使fans-reward程序成为ERC20-generation币的可扩展用例,我们需要实现一些支持基础设施,使其成为创造者的合理用例。
2、 奥迪乌斯API
;
对于ETH online Hackathon,我们决定使用audius来启用代币分发。Audius是一个去中心化的音乐流协议。
;
由于audius拥有用户帐户并促进艺术家和追随者之间的关系,因此我们决定,作为这种关系的延伸,我们可以建立一个过程,艺术家创建代币,并根据他们的用户帐户将其分配给他们的粉丝。
;
Audius提供了一个API来了解ipfssy的更多信息,您可以通过它获得Audius开发的Hedgehog wallet中存储的账户的钱包地址和跟随者地址。
;
因此,我们决定实施以下流程:
;
1) 生成creator代币的用户将在其Audi帐户之后获得地址列表
;
2) creator token generator接收并存储follower地址信息作为契约上的快照,并将该地址设置为代币分发目标
;
3) 每个跟随者都将收到一个通知,说明在DAPP之外有一个分发活动。如果它们符合分发条件,则可以执行声明函数并接收代币
3.智能合约和海量数据
;
然而,这一过程在实施过程中也存在一些问题,因为有时会有大量的追随者,尤其是**艺术家(如RAC)的追随者。追随者的数量可能会上升到数万或数十万,随着audius等创作平台的采用,这一数字可能会增加。
;
如果我们试图在链契约中记录所有追随者的地址,将会花费大量的ETH费用,特别是在网络拥塞的情况下,这将使创建者承担交易成本。
;
因此,我们的实现不使用契约来写入跟随者信息,而是使用IPFs将其保存为取消链接的文件。我们使用chainlink来检查IPFs中的地址是否以奥迪钱包的形式存在,以便在创建广告活动时将合同链接到大量数据,而不消耗大量资源。
4.IPFs外部适配器
;
1) 关于IPFs
;
IPFs是一个用于存储媒体文件的分布式系统。上传和下载的文件存储在分布式网络上。
;
在iroiro中,Audi-API获取的follower地址列表以ON文件中字符串数组的形式存储在IPFs中,以便chainlink-IPFs外部适配器检索。
;
2) 连接IPFs和chainlink
时出现问题;
如果这里只使用chainlink,那么在将它链接到IPFs时会遇到问题。这是因为chainlink的内置httpget适配器可以检索ON字符串中特定路径上的值,但不能检索和返回整个值数组。
;
要保存并存储在IPFs上的ON文件包含一个数组形式的地址列表,如下例所示。这意味着为了让追随者检查他们的地址是否存储在ON文件中,他们必须构建一个chainlink外部适配器来处理地址数组中的搜索。
;
{
地址:[
地址1,
地址2,
。。。
]
}
;
3) IPFs外部适配器
;
我们开发了chainlink外部适配器来实现上述问题所需的功能。
;
外部适配器是一个独立的应用程序,它接受来自chainlink节点的请求,执行必要的处理,并以chainlink节点可以处理的格式返回结果。
;
通过构建一个外部适配器,我们可以充分利用chainlink的灵活性,这是仅仅使用内置适配器无法实现的。
;
外部适配器执行以下步骤:
;
正午;IPFs文件是通过使用chainfs请求契约时收到的IPFs CID(表示文件的唯一密钥)获得的。
正午;验证用户地址是否存储在IPFs文件的字段中,以确认代币分发目标。
正午;如果存储了目标地址,chainlink将通过返回用户地址、活动地址和地址存储信息(布尔值)的哈希值来满足请求。
5.本申请概况如下:
6.我们使用chainlink和IPFs来完成工作
;
我们已经实施了上述分发creator代币的过程,以及以下步骤:
;
1) 降低天然气成本,提高交易效率。
;
当需要大量的燃气数据时,可以使用IPFs链来存储数据,并通过chainlink进行搜索,从而大大降低燃气的成本。
;
这直接降低了iroiro用户的天然气价格,有助于降低用户的准入门槛。
;
2) 连接到脱机数据
;
区块链不可能获取文件内容并在IPFs上执行所需的逻辑,但我们可以通过chainlink来实现。
;
这使得使用链下数据开发高度可伸缩的智能合约成为可能。
;
3) 灵活发电币分配方法
的实施;
Iroiro只在黑客马拉松期间使用了audius,但只要通过API可以获得要在其他平台上分发的数据,就可以在各种平台上使用。
;
使用chainlink意味着您现在可以灵活地分配,而不仅仅是在链上。
文章标题:利用chainlink外部适配器获取智能合约中的IPFs数据
文章链接:https://www.btchangqing.cn/262369.html
更新时间:2021年05月21日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。