ChainLink एपीआई कॉल में "चयनकर्ता" क्या है?
मैं एपीआई को कॉल करने के लिए चेनलिंक से उदाहरण का उपयोग कर रहा हूं; हालाँकि, मुझे यकीन नहीं है कि यह करता है।
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) में क्या करता है ?
जवाब
उपरोक्त कोड में चयनकर्ता क्या करता है (यह .fulfill.selecor)?
आपके buildChainlinkRequest
फ़ंक्शन में, यह 3 तर्क देता है :
bytes32 _specId
address _callbackAddress
bytes4 _callbackFunctionSignature
bytes4 _callbackFunctionSignature
Chainlink नोड कॉल करने के लिए क्या विधि है जब यह डेटा रिटर्न बताता है। इसे एक फ़ंक्शन चयनकर्ता के रूप में जाना जाता है , और यह नोड को यह निर्दिष्ट करने की अनुमति देता है कि इसे आपके कॉल fulfill
फ़ंक्शन को वापस कॉल करने की आवश्यकता है या नहीं ।
इसके अलावा, मैं पूर्ण फ़ंक्शन के लिए एक तर्क कैसे पारित कर सकता हूं? मैं किस चेनलिंक कॉल का उपयोग करके अपने ग्राहकों के नक्शे के प्रूफ चर को अपडेट करने की कोशिश कर रहा हूं।