संसाधन लोड हो रहा है... लोड करना...

exchange.Encode

..exchange.Encode()हस्ताक्षर एन्क्रिप्शन की गणना के लिए फ़ंक्शन का प्रयोग किया जाता है.

..exchange.Encode()फ़ंक्शन गणना की गई हैश मान एन्कोडिंग लौटाता है. स्ट्रिंग

exchange.Encode ((algo, inputFormat, outputFormat, data) exchange.Encode ((algo, inputFormat, outputFormat, data, keyफॉर्मेट, कुंजी)

पैरामीटरalgoraw (कोई एल्गोरिथ्म इस्तेमाल नहीं किया), sign, signTx, md4, md5, sha256, sha512, sha1, keccak256, sha3.224, sha3.256, sha3.384, sha3.512, sha3.keccak256, sha3.keccak512, sha512.384, sha512.256, sha512.224, emd160, ripke2b.256, blake2b.512, blake2b.512, blake2s.1288, blake2s.256 पैरामीटर।algoयह भी समर्थन करता हैः text.encoder.utf8, text.decoder.utf8, text.encoder.gbk, text.decoder.gbk, एन्कोडिंग और डिकोडिंग स्ट्रिंग के लिए। पैरामीटरalgoयह विभिन्न हैश एल्गोरिदम के उपयोग का समर्थन करता है, उदाहरण के लिए पैरामीटरalgoed25519.md5, ed25519.sha512 आदि के रूप में लिखा जा सकता है।ed25519.seedगणना। कुछ सच स्ट्रिंग डेटा प्रारूप को निर्दिष्ट करने के लिए प्रयोग किया जाता हैdataपैरामीटर।inputFormatपैरामीटर में से किसी एक पर सेट किया जा सकता हैः raw, hex, base64, और string. raw का अर्थ है कि डेटा कच्चा डेटा है, hex का अर्थ है कि डेटा हैhexएन्कोडेड, base64 का अर्थ है कि डेटा हैbase64एन्कोडेड है, और string का मतलब है कि डेटा एक स्ट्रिंग है। इनपुटफ़ॉर्मेट सच स्ट्रिंग आउटपुट डेटा प्रारूप निर्दिष्ट करने के लिए प्रयोग किया जाता है।outputFormatपैरामीटर निम्नलिखित सेटिंग्स का समर्थन करता हैः raw, hex, base64, string. raw का अर्थ है कि डेटा कच्चा डेटा है, hex का अर्थ है कि डेटा हैhexएन्कोडेड, base64 का अर्थ है कि डेटा हैbase64एन्कोडेड है, और string का मतलब है कि डेटा एक स्ट्रिंग है। आउटपुटफ़ॉर्मेट सच स्ट्रिंग पैरामीटरdataसंसाधित किए जाने वाले डेटा हैं। आंकड़ा सच स्ट्रिंग डेटा प्रारूप को निर्दिष्ट करने के लिए प्रयोग किया जाता हैkeyपैरामीटर।keyपैरामीटर में से किसी एक पर सेट किया जा सकता हैः raw, hex, base64, और string. raw का अर्थ है कि डेटा कच्चा डेटा है, hex का अर्थ है कि डेटा हैhexएन्कोडेड, base64 का अर्थ है कि डेटा हैbase64एन्कोडेड है, और string का मतलब है कि डेटा एक स्ट्रिंग है। keyफ़ॉर्मेट झूठी स्ट्रिंग दkeyपैरामीटर हस्ताक्षर गणना में इस्तेमाल कुंजी निर्दिष्ट करने के लिए प्रयोग किया जाता है, और यह एक सादे पाठ स्ट्रिंग के रूप में इस्तेमाल किया जा सकता है. आप भी उपयोग कर सकते हैं"{{accesskey}}", "{{secretkey}}"संदर्भित करने के लिएaccessKeyऔरsecretKey{@var/EXCHANGE exchange} एक्सचेंज ऑब्जेक्ट में कॉन्फ़िगर किया गया है. कुंजी झूठी स्ट्रिंग

function main() {
    var APIKEY = "your Access Key(Bitmex API ID)"
    var expires = parseInt(Date.now() / 1000) + 10
    var signature = exchange.Encode("sha256", "string", "hex", "GET/realtime" + expires, "hex", "{{secretkey}}")
    var client = Dial("wss://www.bitmex.com/realtime", 60)
    var auth = JSON.stringify({args: [APIKEY, expires, signature], op: "authKeyExpires"})
    var pos = 0
    client.write(auth)
    client.write('{"op": "subscribe", "args": "position"}')
    while (true) {
        bitmexData = client.read()
        if(bitmexData.table == 'position' && pos != parseInt(bitmexData.data[0].currentQty)){
            Log('position change', pos, parseInt(bitmexData.data[0].currentQty), '@')
            pos = parseInt(bitmexData.data[0].currentQty)
        }
    }
}
import time
def main():
    APIKEY = "your Access Key(Bitmex API ID)"
    expires = int(time.time() + 10)
    signature = exchange.Encode("sha256", "string", "hex", "GET/realtime" + expires, "hex", "{{secretkey}}")
    client = Dial("wss://www.bitmex.com/realtime", 60)
    auth = json.dumps({"args": [APIKEY, expires, signature], "op": "authKeyExpires"})
    pos = 0
    client.write(auth)
    client.write('{"op": "subscribe", "args": "position"}')
    while True:
        bitmexData = json.loads(client.read())
        if "table" in bitmexData and bitmexData["table"] == "position" and len(bitmexData["data"]) != 0 and pos != bitmexData["data"][0]["currentQty"]:   
            Log("position change", pos, bitmexData["data"][0]["currentQty"], "@")
            pos = bitmexData["data"][0]["currentQty"]
void main() {
    auto APIKEY = "your Access Key(Bitmex API ID)";
    auto expires = Unix() + 10;
    auto signature = exchange.Encode("sha256", "string", "hex", format("GET/realtime%d", expires), "hex", "{{secretkey}}");
    
    auto client = Dial("wss://www.bitmex.com/realtime", 60);
    json auth = R"({"args": [], "op": "authKeyExpires"})"_json;            

    auth["args"].push_back(APIKEY);
    auth["args"].push_back(expires);
    auth["args"].push_back(signature);
    auto pos = 0;
    client.write(auth.dump());
    client.write("{\"op\": \"subscribe\", \"args\": \"position\"}");
    while(true) {
        auto bitmexData = json::parse(client.read());
        if(bitmexData["table"] == "position" && bitmexData["data"][0].find("currentQty") != bitmexData["data"][0].end() && pos != bitmexData["data"][0]["currentQty"]) {
            Log("test");
            Log("position change", pos, bitmexData["data"][0]["currentQty"], "@");
            pos = bitmexData["data"][0]["currentQty"];
        }
    }
}

BitMEX स्थिति परिवर्तन पुश (wss प्रोटोकॉल) का उदाहरणः

केवल वास्तविक व्यापार का समर्थन करता हैexchange.Encode()कार्य।"{{accesskey}}", "{{secretkey}}"संदर्भ केवल तभी मान्य होते हैं जबexchange.Encode()फ़ंक्शन का प्रयोग किया जाता है।

{@var/EXCHANGE exchange}, {@fun/Global/Encode Encode}

exchange.Log exchange.Go