我正在尝试使用 Chainlink 连接到 API,以从下面请求中的 URL 获取 uint。问题是,每次“音量”值回到 0 时。我感觉问题是以下两件事之一:
- oracle 不喜欢访问数组。我试过“data[0]”和“data.0”。两者都适用于文档页面上的jsonPath 。
- API 返回的是字符串而不是数字(因为数字是用引号括起来的)。我也尝试了 bytes32 工作,只返回 0x0。其他 StackOverflow 帖子也显示预言机将字符串数字读取为数字。
以下代码片段是对 Chainlink 文档中显示的“重新混合部署”代码所做的唯一更改: https ://docs.chain.link/docs/make-a-http-get-request 。
request.add("get", "https://api.fiscaldata.treasury.gov/services/api/fiscal_service/v2/accounting/od/avg_interest_rates?sort=-record_date");
request.add("path", "data.0.avg_interest_rate_amt");
这些合约正在通过 Remix/Metamask 部署在 Kovan 上,并有大量的链接为合约提供资金。我可能做错了什么?