TER:将智能合约连接到Twitter API-ODAILY

像Twitter这样的社交媒体平台拥有丰富的数据,展示了全世界人们所关心的热门话题。我们正在进入一个数据驱动的世界,而Chainlink提供了一个渠道,将这个庞大的数据集安全地连接到链上世界,为我们的社交媒体生活带来智能合约的可靠性和透明度保证。

在这次的实战演练中,我们将介绍如何让你的智能合约连接到TwitterAPI。具体来说,我们将解释如何从智能合约中发出一条推文,但是围绕社交媒体进行数据分析和智能合约的执行所展示出来的可能性却是无限的。

构造函数

比特币反弹后加密货币采矿股增长至年度高点:金色财经报道, 比特币价格反弹至数月高点,也对采矿股产生了积极影响。BTC挖矿公司Bitfarms在2023年1月的前两周飙升了140%,其次是Marathon Digital大涨120%。Hive区块链技术公司的股票价值在同一时期几乎翻了一番,而MVIS全球数字资产采矿指数在新年的第一个月里上涨了64%。

卢克索哈希价格指数,旨在量化矿工可能从比特币网络使用的处理能力中赚取的金额,今年已经增长了21%。这部分反映了由于比特币价格的上涨而带来的更大的回报。[2023/1/18 11:17:29]

我们从熟悉的ChainlinkClient导入和继承开始。导入ChainlinkClient合约包含了构建请求、提交给一个或多个Chainlink节点,并接收回复所需的所有功能。只需定义你选择的oracle地址,该节点为其TwitterJob提供的作业规范ID,并定义该节点处理请求所需的费用。此外,我们还定义了onlyOwner修饰符,这样只有创建合约的地址才能通过这个合约发推特。

安全团队:NFT系列Smircs的Discord服务器被入侵:金色财经报道,据CertiK监测显示,NFT系列Smircs的Discord服务器已被入侵,提醒用户勿点击社群发布的任何链接。[2022/12/1 21:15:04]

Tweet函数

构建了合约之后,发推特就非常简单了。tweet函数接收要推送的字符串,创建请求结构体,并将其提交给定义的Chainlink节点。请求结构中需要两个字段:`status`和`copyPath`。`status`,即我们希望发布的推文,在Twitter外部适配器中被定义为一个输入,该节点将运行它来完成这项工作。而`copyPath`则是所有Chainlink节点支持的默认适配器的一部分,它告诉节点如何解析JSON输出。此外,`endpoint`可以指定为不同的Twitter端点,具有不同的功能,但适配器默即可发布推文状态,因此目前不需要关心这一参数。

Bitpanda聘请毕马威负责资产验证:11月15日消息,奥地利加密货币交易平台 Bitpanda GmbH 联席首席执行官 Demuth 表示,由于 FTX 破产事件影响了整个加密行业,他们决定聘请四大会计事务所毕马威进行资产验证,包括核实客户资产是否由存储在 Bitpanda 冷钱包中的相应加密货币资金覆盖,涉及比特币等其他 5 个 Token。[2022/11/15 13:08:56]

上面是外部适配器的JSON输出示例,在其market.link列表上提供。我们希望得到该推文的`statusCode`来确认它是否成功。`statusCode`是输出的JSON结构中第一层的key,所以路径只是`statusCode`。如果我们希望检索`data:{result:}`,其中result是第二层的key,我们可以使用点符号将路径指定为`data.result`。更多关于Copy和其他适配器的信息在Chainlink适配器文档页面提供。

48%的以太坊区块面临来自符合OFAC的Flashbot的审查:金色财经报道,近期,Flashbots一直存在争议,因为人们认为该技术威胁到以太坊的抗审查性。这是因为Flashbots占符合政府强制规定的区块的48%。虽然以太坊因满足环保主义者的要求而受到称赞,但批评者认为,区块链网络通过增加验证者的集中化以及所谓的“更环保”区块链审查的可能性增加来进行权衡。合并后的第二天,当以太坊从工作量证明 (PoW) 网络过渡到权益证明 (PoS) 区块链时,PoW 支持者批评以太坊增加了验证者审查的可能性。数据显示,超过 59% 的质押以太坊 (?ETH?) 由四家公司持有。[2022/10/16 14:29:09]

构建好包含tweet和要返回的路径的请求,就可以提交请求,之后就会被节点处理,并在`fulfill()`回调中返回statusCode。用户合约端只需要构建和提交请求即可,因为大部分繁重的工作都由Chainlink节点处理。

Binance.US推出Cardano (ADA)Staking质押服务:9月1日消息,据 Binance.US 官方社交媒体发布消息,该交易平台已支持 Cardano (ADA) 质押功能。Binance.US 于 6 月初引入了对高收益质押的支持,试图与 Coinbase 竞争,目前已支持 Avalanche (AVAX)、Solana (SOL)、Cosmos (ATOM) 等加密货币。目前 Cardano 正在为即将到来的 Vasil 硬分叉做准备且发布了 v.1.35.3,一旦相关指标符合要求后就将启动升级操作。[2022/9/1 13:02:13]

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上的技术讨论。如果你想安排一个电话,更深入地讨论集成问题,请在这里联系。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

[0:31ms0-1:39ms