像Twitter这样的社交媒体平台拥有丰富的数据,展示了全世界人们所关心的热门话题。我们正在进入一个数据驱动的世界,而Chainlink提供了一个渠道,将这个庞大的数据集安全地连接到链上世界,为我们的社交媒体生活带来智能合约的可靠性和透明度保证。
在这次的实战演练中,我们将介绍如何让你的智能合约连接到TwitterAPI。具体来说,我们将解释如何从智能合约中发出一条推文,但是围绕社交媒体进行数据分析和智能合约的执行所展示出来的可能性却是无限的。
构造函数
以太坊信标链质押总量突破 1700 万枚 ETH,质押率达 14.36%:2月27日消息,据OKLink多链浏览器数据显示,以太坊信标链质押总量达 17,154,7279 枚 ETH,质押的以太坊占以太坊总供应量的 14.36%,按当前价格计算达 278.6 亿美元。[2023/2/27 12:31:44]
我们从熟悉的ChainlinkClient导入和继承开始。导入ChainlinkClient合约包含了构建请求、提交给一个或多个Chainlink节点,并接收回复所需的所有功能。只需定义你选择的oracle地址,该节点为其TwitterJob提供的作业规范ID,并定义该节点处理请求所需的费用。此外,我们还定义了onlyOwner修饰符,这样只有创建合约的地址才能通过这个合约发推特。
SSV上涨触及43美元,24小时涨幅15.72%:金色财经报道,行情数据显示,ssv.network(SSV)上涨触及43美元,现报价42.88美元,24小时涨幅15.72%。行情波动较大,请做好风险控制。[2023/2/26 12:30:20]
Tweet函数
构建了合约之后,发推特就非常简单了。tweet函数接收要推送的字符串,创建请求结构体,并将其提交给定义的Chainlink节点。请求结构中需要两个字段:`status`和`copyPath`。`status`,即我们希望发布的推文,在Twitter外部适配器中被定义为一个输入,该节点将运行它来完成这项工作。而`copyPath`则是所有Chainlink节点支持的默认适配器的一部分,它告诉节点如何解析JSON输出。此外,`endpoint`可以指定为不同的Twitter端点,具有不同的功能,但适配器默即可发布推文状态,因此目前不需要关心这一参数。
SushiSwap CTO:停止开发Kashi和MISO,Q1重点关注DEX流动性:1月2日消息,SushiSwap CTO Matthew Lilley近日发推回顾2022年成就,并公布2023年Q1路线图。Lilley表示团队决定将借贷平台Kashi和代币Launchpad MISO两个项目搁置一边。
Lilley表示,Kashi被弃用的原因有很多,包括许多设计缺陷、缺乏盈利能力和缺乏资源。就MISO而言,仅仅是缺乏资源导致SushiSwap停止开发。根据其说法,“一旦我们有资源将产品团队投入其中,我们有计划在未来推出这些产品的替代版本”,不过目前DEX是首要任务。
Lilley表示,SushiSwap将致力于提供集中流动性,允许流动性提供者设置特定的价格区间来提供流动性,“计划在2023年第一季度坚定地释放流动性”。Lilley还透露,“我们在DEX层面有一个有趣的惊喜和一些有趣的激励调整,我相信这依赖于我们的优势,能够加强我们的地位。”(The Daily Hodl)
据此前报道,Sushi公布新代币经济学提案,将激励流动性并促进去中心化。该提案概述了协议代币经济学的四个关键变化。其中最大变化是关于xSushi将不再获得交易费用收益奖励,而是获得以Sushi支付的基于排放的奖励。产生最多交易量的交易池的流动性提供者将获得大部分Swap费用。此外,玩家还可以选择新的时间锁定机制来提高奖励。浮动比例的交易费用还将用于从公开市场回购和销毁Sushi,并锁定流动性,以提供更多的价格支撑。最后的变化则是将把Sushi的释放改为1-3% APY,以降低通胀,并在整体释放与回购、销毁和锁定流动性之间取得平衡,这些流动性用于交易费用的价格支持。[2023/1/2 22:20:51]
The Graph联创将推出信息图谱协议和对应Web3浏览器:金色财经报道,去中心化索引协议The Graph联合创始人Yaniv Tal正在准备推出信息图谱应用Geo和对应的Web3浏览器,以建立一个新的互联网。Yaniv Tal表示,2023将是Web3的“突破年”,这个领域需要更多工具来确保可验证性和安全性,然后才能真正起飞。
其中,Geo应用寻求使用加密工具将公共信息组织成去中心化的知识图谱。该公司将整理区块链数据并开发任何人都可以访问的可浏览用户界面。Geo将利用 The Graph进行数据索引,但将作为一个单独的业务运营。[2022/10/25 16:38:19]
上面是外部适配器的JSON输出示例,在其market.link列表上提供。我们希望得到该推文的`statusCode`来确认它是否成功。`statusCode`是输出的JSON结构中第一层的key,所以路径只是`statusCode`。如果我们希望检索`data:{result:}`,其中result是第二层的key,我们可以使用点符号将路径指定为`data.result`。更多关于Copy和其他适配器的信息在Chainlink适配器文档页面提供。
报告:东非不太可能在2024年推出单一货币:金色财经报道,来自非洲经济联盟东非共同体(EAC)的中央银行不确定在2024年之前为该地区引入单一货币的计划是否会实现。这些央行指出,一些成员国未能实现路线图中设定的目标,是单一货币不太可能按计划起飞的原因之一。
根据东非的一份报告,东非共同体六国成员希望设想中的共同货币将有助于减少兑换货币的费用。人们还希望单一货币将消除跨境贸易带来的汇率波动。实现单一货币是EAC在2022年至2026年期间的优先事项之一。
与此同时,据报道,在8月22日发布的一份公报中,EAC证实,拖延和其他挑战意味着该地区集团无法按计划在2024年之前拥有单一货币。(news.bitcoin)[2022/8/25 12:48:18]
构建好包含tweet和要返回的路径的请求,就可以提交请求,之后就会被节点处理,并在`fulfill()`回调中返回statusCode。用户合约端只需要构建和提交请求即可,因为大部分繁重的工作都由Chainlink节点处理。
Twitter外部适配器和节点配置
在节点方面,有几件事我们必须做。-安装并运行Twitter外部适配器
在节点和适配器之间建立一个桥接器
创建一个使用桥接器的工作规范
正如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上的技术讨论。如果你想安排一个电话,更深入地讨论集成问题,请在这里联系。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。