ChainLink एपीआई कॉल में "चयनकर्ता" क्या है?

Nov 30 2020

मैं एपीआई को कॉल करने के लिए चेनलिंक से उदाहरण का उपयोग कर रहा हूं; हालाँकि, मुझे यकीन नहीं है कि यह करता है।

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) में क्या करता है ?

जवाब

1 PatrickCollins Nov 30 2020 at 18:47

उपरोक्त कोड में चयनकर्ता क्या करता है (यह .fulfill.selecor)?

आपके buildChainlinkRequestफ़ंक्शन में, यह 3 तर्क देता है :

  • bytes32 _specId
  • address _callbackAddress
  • bytes4 _callbackFunctionSignature

bytes4 _callbackFunctionSignatureChainlink नोड कॉल करने के लिए क्या विधि है जब यह डेटा रिटर्न बताता है। इसे एक फ़ंक्शन चयनकर्ता के रूप में जाना जाता है , और यह नोड को यह निर्दिष्ट करने की अनुमति देता है कि इसे आपके कॉल fulfillफ़ंक्शन को वापस कॉल करने की आवश्यकता है या नहीं ।

इसके अलावा, मैं पूर्ण फ़ंक्शन के लिए एक तर्क कैसे पारित कर सकता हूं? मैं किस चेनलिंक कॉल का उपयोग करके अपने ग्राहकों के नक्शे के प्रूफ चर को अपडेट करने की कोशिश कर रहा हूं।