Chainlink api 调用从 json 检索字符串值(来自实时 API)

问题描述 投票:0回答:2

我想使用 Chainlink GET api 从实时传感器 API 检索传感器值。例如,API 可能会在某个时间间隔之间返回更新的 json 文件。我想知道是否有任何方法,Chainlink 可以使用 getsensordata() 来持续请求 json 文件中的特定传感器数据,并返回链上的值。我已设法从 json 文件请求传感器数据,但它确实需要每个请求数据的事务。我尝试过查看 Upkeep ,我不确定我们是否可以在 CheckUpkeep () 中使用 getsensordata() 。

json ethereum blockchain solidity chainlink
2个回答
0
投票

您是将整个 JSON 返回到智能合约还是只返回您需要的值?后者可能是更好的设计策略,可以避免在 Solidity 智能合约中进行复杂的计算。

是的,Chainlink 自动化可用于获取数据。我建议您使用 Chainlink 函数来发出请求 - 这是一个更快、更流畅的工作流程。

查看此处的文档:https://docs.chain.link/chainlink-functions 您还可以在此处查看使用 chainlink 函数的自动化示例:https://docs.chain.link/chainlink-functions/tutorials/automate-functions/


0
投票

据我了解,您的要求有两个方面:

1.自动化

如果您想自动将传感器数据检索到智能合约中,则需要使用 Chainlink Automation 之类的工具,它允许您每 X 秒/分钟/等自动执行智能合约的预言机请求方法。或者,如果您精通技术,您可以使用 JS servlet、web3.js 库和可靠的 RPC 连接(即 Infura)手动实现此操作,以 X 间隔进行所需的 Web3 调用(事务)。

值得注意的是,无论哪种方式,您都需要为其执行的每笔交易支付所需的费用,因为在链上写入数据的天然气成本可能会很高。

2.数据检索

就在链上检索传感器(API)数据而言,有许多 Chainlink 预言机愿意满足此类请求。许多预言机(例如我们自己)托管带有简单代码示例的网站,您只需将其放入智能合约中即可从互联网上的任何位置请求所需的数据。正如 ZeusLawyer 已经提到的,您还可以使用 Chainlink Functions 手动编程此请求工作流程。

祝你好运,希望有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.