像Twitter这样的社交媒体平台拥有丰富的数据,展示了全世界人们所关心的热门话题。我们正在进入一个数据驱动的世界,而Chainlink提供了一个渠道,将这个庞大的数据集安全地连接到链上世界,为我们的社交媒体生活带来智能合约的可靠性和透明度保证。
在这次的实战演练中,我们将介绍如何让你的智能合约连接到TwitterAPI。具体来说,我们将解释如何从智能合约中发出一条推文,但是围绕社交媒体进行数据分析和智能合约的执行所展示出来的可能性却是无限的。
构造函数
DeFi借贷协议Granary Finance完成500万美元融资:金色财经报道,DeFi 借贷协议 Granary Finance 在社区驱动的筹款活动中筹集了超过 500 万美元的稳定币 USDC,此次筹款旨在支持 Granary V2 的开发,该项目是在专注于 EVM 的 Byte Masons Group 的协助下开发的。
该团队在声明中表示,Granary 将在 Web3 金融中的无摩擦借贷体验方面占据中心位置。[2023/4/1 13:38:58]
我们从熟悉的ChainlinkClient导入和继承开始。导入ChainlinkClient合约包含了构建请求、提交给一个或多个Chainlink节点,并接收回复所需的所有功能。只需定义你选择的oracle地址,该节点为其TwitterJob提供的作业规范ID,并定义该节点处理请求所需的费用。此外,我们还定义了onlyOwner修饰符,这样只有创建合约的地址才能通过这个合约发推特。
由于立法程序,俄罗斯推迟CBDC的启动测试时间:金色财经报道,由于立法程序,俄罗斯CBDC试点不会在4月1日开始,该立法可能会在5月初最终颁布。参与试点的私营银行数量也从15家变为13家。据了解,其中一些银行的工作人员将成为CBDC零售支付的测试参与者,还有该国最大的保险公司之一Ingosstrakh。[2023/3/29 13:32:55]
Tweet函数
构建了合约之后,发推特就非常简单了。tweet函数接收要推送的字符串,创建请求结构体,并将其提交给定义的Chainlink节点。请求结构中需要两个字段:`status`和`copyPath`。`status`,即我们希望发布的推文,在Twitter外部适配器中被定义为一个输入,该节点将运行它来完成这项工作。而`copyPath`则是所有Chainlink节点支持的默认适配器的一部分,它告诉节点如何解析JSON输出。此外,`endpoint`可以指定为不同的Twitter端点,具有不同的功能,但适配器默即可发布推文状态,因此目前不需要关心这一参数。
数据:世界杯将推动体育元宇宙市场规模达到800亿美元:金色财经报道,根据Web3 Studios联合Animoca Brands、ConsenSys、The Football Company、Apex Capital等机构发布的一份报告显示,世界杯或将成为体育元宇宙的“拐点”,从“被动到主动的粉丝参与”的转变可能是 web3 在全球体育运动中崭露头角的最终催化剂,一些产品和服务包括使用 web3 存储重要时刻的纪念品、交易卡、游戏、粉丝装备、粉丝代币和电子竞技等,或将推动体育元宇宙市场规模在2030年达到800亿美元。(web3-studios)[2022/12/19 21:53:06]
上面是外部适配器的JSON输出示例,在其market.link列表上提供。我们希望得到该推文的`statusCode`来确认它是否成功。`statusCode`是输出的JSON结构中第一层的key,所以路径只是`statusCode`。如果我们希望检索`data:{result:}`,其中result是第二层的key,我们可以使用点符号将路径指定为`data.result`。更多关于Copy和其他适配器的信息在Chainlink适配器文档页面提供。
高盛上调对美联储加息幅度的预测,预计本月将加息75个基点:金色财经消息,高盛目前预计,美联储本月将加息75个基点、11月再加息50个基点,此前预测分别为升息50个基点和25个基点。高盛表示,美联储官员近期的鹰派发言似乎暗示压制通胀的进展并不像他们希望的那样一致或迅速。(华尔街见闻)[2022/9/8 13:15:55]
构建好包含tweet和要返回的路径的请求,就可以提交请求,之后就会被节点处理,并在`fulfill()`回调中返回statusCode。用户合约端只需要构建和提交请求即可,因为大部分繁重的工作都由Chainlink节点处理。
Twitter外部适配器和节点配置
在节点方面,有几件事我们必须做。-安装并运行Twitter外部适配器
在节点和适配器之间建立一个桥接器
创建一个使用桥接器的工作规范
ENS域名sony.eth以48 ETH出售:金色财经消息,根据OpenSea的数据,ENS域名sony.eth以48 ETH 的价格出售,购买者为sunnybay.eth。[2022/7/20 2:24:36]
正如Twitter适配器列表中所概述的那样,在使用yarn运行适配器之前,需要四个环境变量来定义TwitterAPI的连接访问。
默认情况下,适配器监听端口为8080。请注意,如果你的节点和适配器不是运行在同一个容器中,或者不是本地的,localhost:8080对它们来说是不一样的。在这种情况下,当你定义连接节点的桥接器时,你需要根据你的适配器运行的位置,指定你的docker容器的IP或你的主机的本地IP。也可以将适配器托管在一台单独的机器上,在这种情况下,您可以指定它的公共IP或本地IP,如果它在同一个局域网内。
在您的节点和适配器之间定义一个桥接器非常简单。只需在你的节点界面上填写新建网桥页面,并输入适配器的URL,给它起个名字,并指定你想要的最低确认数和费用金额。
现在适配器已经运行并连接到您的节点,我们需要定义一个作业规范,以便在智能合约请求调用桥接器时使用它。在节点仪表板的NewJob部分里,我们定义了一个JSON规范,说明什么会启动一个作业,以及这个job会执行什么任务(task)。
在这个Twitter适配器的情况下,我们的作业规范应该是这样的。
首先是触发器。用来告诉节点要监控哪个oracle合约,并从哪个oracle合约上获取job。这与前面创建请求智能合约时使用的oracle地址相同。请求被发送到链上的这个oracle,由于节点正在监控它的作业请求,所以当请求进来时,它将启动这个job。更多关于部署这个oracle合约的内容,可以在FulfillingChainlinkRequests文档页找到。
接下来是任务。当然,我们这里需要的是Twitter任务--只需填写Twitter适配器的桥接器名称即可。接下来我们定义了copyadapter任务,这样它就会处理请求中的copyPath,然后用ethuint256适配器将输出转换为unit256,最后用ethtx适配器将答案提交回链上。至此,节点设置就完成了。在创建这个jobspec时,会提供一个jobID,而请求合约在形成请求时使用的就是这个jobID。
结束语
希望这个演练能够帮助进一步展示Chainlink将任何API连接到您的智能合约的潜力,同时也解释了节点运营方处理这些任务所需的一些配置。
如果你是一名开发人员,并希望将你的智能合约连接到链外数据和系统,请访问开发人员文档并加入Discord上的技术讨论。如果你想安排一个电话,更深入地讨论集成问题,请在这里联系。
标签:TERWITITTTTEBlocksterEWIT币Gallant Nactive Little SuperGutter Cat Gang
回顾20202020年,全球数字资产总市值突破1万亿美元,迎来了历史的最高峰。令人振奋的是,DeFi领域迎来了爆发,链上资产锁定量一年增长40倍,用户增长了12倍,协议之间的组合性产生了生态效应.
1900/1/1 0:00:00在前面的文章中,我们科普了挖矿的原理和应用,那么如何在区块链中确保交易的准确性和有效性呢?让我们再次回到特定的情境中.
1900/1/1 0:00:00“北上广”一般是年轻人最想前往的城市,也是最容易因为房价望而却步的地方。房价之所以那么高的原因,本质上还是由于供给有限,而接盘侠众多,或者说是有人盯准了后面接盘侠的财力丰厚.
1900/1/1 0:00:002014年Juan团队创建IPFS,是一种旨在替代HTTP的协议,其通过内容和身份寻址,支持创建完全分布式应用程序,特点为“分布式、抗审查、更开放”.
1900/1/1 0:00:0012月11日,ETHGlobal和Filecon主办了存储市场峰会。一天中的一部分时间致力于为Filecoin初创企业赋权。以下是当天这一部分中不同对话的摘要,主题和结论.
1900/1/1 0:00:00\n\n15世纪末冒险家们出于对黄金的向往开启了大航海时代哥伦布:黄金是一切商品中最宝贵的,黄金是财富然而到了2020年比特币比拟黄金成为了新主流资产支付巨头Paypal开通了购买比特币的通道一.
1900/1/1 0:00:00