..exchange.Encode()
हस्ताक्षर एन्क्रिप्शन की गणना के लिए फ़ंक्शन का प्रयोग किया जाता है.
..exchange.Encode()
फ़ंक्शन गणना की गई हैश मान एन्कोडिंग लौटाता है.
स्ट्रिंग
exchange.Encode ((algo, inputFormat, outputFormat, data) exchange.Encode ((algo, inputFormat, outputFormat, data, keyफॉर्मेट, कुंजी)
पैरामीटरalgo
algo
यह भी समर्थन करता हैः algo
यह विभिन्न हैश एल्गोरिदम के उपयोग का समर्थन करता है, उदाहरण के लिए पैरामीटरalgo
ed25519.seed
गणना।
कुछ
सच
स्ट्रिंग
डेटा प्रारूप को निर्दिष्ट करने के लिए प्रयोग किया जाता हैdata
पैरामीटर।inputFormat
पैरामीटर में से किसी एक पर सेट किया जा सकता हैः hex
एन्कोडेड, base64
एन्कोडेड है, और outputFormat
पैरामीटर निम्नलिखित सेटिंग्स का समर्थन करता हैः hex
एन्कोडेड, base64
एन्कोडेड है, और data
संसाधित किए जाने वाले डेटा हैं।
आंकड़ा
सच
स्ट्रिंग
डेटा प्रारूप को निर्दिष्ट करने के लिए प्रयोग किया जाता हैkey
पैरामीटर।key
पैरामीटर में से किसी एक पर सेट किया जा सकता हैः hex
एन्कोडेड, base64
एन्कोडेड है, और 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