如何在安全帽上模拟 Chainlink/oracle API 响应

2024-05-01

在安全帽入门套件上,单元测试会检查您是否可以发出 API 请求。但实际上并不能满足要求。在任务中,它请求卷数据,但未显示如何满足请求。

通过查看mockOracle的代码,我发现了这个函数。

const r = await mockOracle.fulfillOracleRequest(requestId, data)

我不知道如何使数据成为我想要的样子。例如,当我传递以下数据时,它返回巨大的无缝随机数 24516769870864860957297836120308737325622166553046088662895407649136392011776。

const data = ethers.utils.formatBytes32String("64")

如何使用传递给 fillOracleRequest 的数据模拟 api 响应?另外,因为我在 chainlink 入门套件中找不到任何这样的示例,所以这是否是在本地安全帽网络上执行此操作的正确方法?


The 满足Oracle请求函数在模拟Oracle合约 https://github.com/smartcontractkit/hardhat-starter-kit/blob/main/contracts/test/MockOracle.sol响应采用 bytes32 参数,因此您需要对其进行正确编码。这是您如何模拟响应作为API消费者单元测试 https://github.com/smartcontractkit/hardhat-starter-kit/blob/main/test/unit/APIConsumer_unit_test.js:

let mockResponse = '777'
const responseBytes = ethers.utils.formatBytes32String(mockResponse)
const r = await mockOracle.fulfillOracleRequest(requestId, responseBytes)

要回答你的第二个问题,是的,在与未集成到 Chainlink 预言机的本地链合作时,这是正确的做法。实际上有一个开放问题 https://github.com/smartcontractkit/hardhat-starter-kit/issues/67为单元测试实现这些。如果您愿意,请随意接受!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在安全帽上模拟 Chainlink/oracle API 响应 的相关文章

  • 数据网格中的主键始终为零

    我们正在VS2012中使用实体框架 DB First 开发WPF应用程序 我们在数据网格视图中遇到问题 我们从数据源中拖动了一个数据网格 这创建了一个绑定到该特定表的数据网格 该表有两列 一列是 TransporterID 它是 PK 是自
  • 在SSL模式下使用apache kafka

    我正在尝试在 SSL 1 way 模式下设置 kafka 我已经阅读了官方文档并成功生成了证书 我将记下两种不同情况的行为 此设置只有一名经纪人和一名动物园管理员 案例 1 经纪人间通信 明文 我的相关条目server properties
  • 将自定义值存储在 EKEvent(iPhone 日历)中

    我的应用程序与设备日历集成 当新项目添加到我的应用程序时 我们会为此项目创建一个日历条目 如果项目被编辑 我们需要更新日历项目 我现在所做的是将 GUID 放入 EKEvent Notes 中 但显然这对用户是可见的 因此我们添加文本 请勿
  • 使用 Selenium 的 Chrome 驱动程序错误:无法发现打开的页面

    运行 Selenium 测试时 我收到与 Chrome 驱动程序相关的错误 错误消息是 无法发现打开的页面 直到昨晚 Selenium 测试都运行良好 问题似乎是在前一天重新启动服务器后开始的 我无法在本地机器上重现此错误 从服务器上的命令
  • Mercurial hook 的操作类似于“changegroup”,但仅在推送时?

    我们已经构建了一个变更集传播机制 但它依赖于捆绑和解除捆绑新变更集 如果我们要使用changegroup钩子 那么它会导致循环行为 因为钩子是运行的在拉 推或解绑期间 http mercurial selenic com wiki Hook
  • 德尔福:idHttp+SSL

    请解释一下如何使用 SSL https 从服务器下载文件 我在互联网上没有找到合适的答案 每个人都说 TIdSSLIOHandlerSocket 但我只有 TIdSSLIOHandlerSocketOpenSSL 如果我使用 TIdSSLI
  • html或css中的倾斜对角线?

    I want to make a Table like this 是否可以添加一个倾斜的对角边框在表中 基于CSS3 线性渐变 http dev w3 org csswg css images 3 linear gradients解决方案
  • 秘密名称不支持特殊字符

    我有一个要求 需要将我的秘密名称存储为 fname lname 但是当我尝试使用下划线时 出现以下错误 为了暂时绕过该错误 我编写了一个实用程序来将下划线转换为连字符 反之亦然 有什么原因不支持下划线等基本特殊字符吗 az keyvault
  • 如何包含来自其他域的一个 php 文件

    我在同一台服务器上有两个域 www domain com www domain com 我有一个index1 php在拳头服务器中 现在我需要包含该文件index2 php驻留在域2中 如何使用 php 代码 包括 要求 不可能在另一台服务
  • 无论如何,为什么要处置一个肯定很快就会被处置的物体呢?

    假设我有一个程序 例如单击按钮 我创建了一个 Graphics 对象 显然我应该处理掉它 例如 using Graphics gr this CreateGraphics 或通过调用 Dispose in the finallytry ca
  • 资源 ID #4 PHP MYSQL

    result mysql query SELECT indvsum sum1 indvsum sum2 FROM SELECT SUM Cash AS sum1 SUM Bank AS sum2 FROM players indvsum e

随机推荐