External-Api
ChainLink API 呼叫中的“選擇器”是什麼?
我正在使用來自 chainlink 的範例來呼叫 API;但是,我不確定確實如此。
function checkProof(string memory JobLocation, int job_id) public { Chainlink.Request memory req = buildChainlinkRequest(stringToBytes32(JOBID), address(this), this.fulfill.selector); req.add("get",JobLocation); req.add("path", "proof"); sendChainlinkRequestTo(ORACLE_ADDRESS, req, ORACLE_PAYMENT); }
我知道它呼叫以下函式
function fulfill(bytes32 _requestId, bool _isProofCorrect, unit val) public recordChainlinkFulfillment(_requestId){ customers[1].proof = _isProofCorrect; }
但是,選擇器在上面的程式碼(this.fulfill.selecor)中做了什麼?
選擇器在上述程式碼 (this.fulfill.selecor) 中做了什麼?
在您的
buildChainlinkRequest
函式中,它需要 3 個參數:
bytes32 _specId
address _callbackAddress
bytes4 _callbackFunctionSignature
告訴 Chainlink 節點在
bytes4 _callbackFunctionSignature
返回數據時呼叫什麼方法。它被稱為函式選擇器,它允許節點準確指定它需要回調的內容,在你的情況下是fulfill
函式。另外,我怎樣才能將參數傳遞給完成函式?我正在嘗試使用 chainlink 呼叫的內容來更新我的客戶地圖的證明變數。