使用单个 ChainLink 请求从同一个 JSON 响应中读取多个 uint256 条目

Reading multiple uint256 entries from same JSON response using a single ChainLink request

我需要从同一个 JSON 响应中解析两个不同的 uint256 值来做一个简单的计算。我目前正在使用相同的 chainlink 测试节点和 jobID

实现两个不同的请求(每个 uint 一个)
 /**
 * Receive the response in the form of uint256
 */ 
function fulfillWeight(bytes32 _requestId, uint256 _weight) public recordChainlinkFulfillment(_requestId)
{
    weight = _weight;
}

function fulfillHeight(bytes32 _requestId2, uint256 _height) public recordChainlinkFulfillment(_requestId2)
{
    height = _height;
}

有没有一种方法可以在不诉诸于使用两个不同的请求的情况下实现这一点,我如何在同一请求下结合解析两个 uint256 值的相同 json 响应?我需要搜索执行此操作的特定 Node / JobId 吗?谢谢!

问得好,你要找的是 Multi-Word (multi-variable) responses.

截至目前,您确实需要知道 Chainlink 作业的作业规范是什么才能知道它会做什么 return,但您可以进入 Chainlink Discord 并请求一个节点为您创建一个通用作业以恢复您的多种类型。

这是一个全新的 Chainlink 功能,所以文档仍然有点稀疏!