Peraturanexchange.Encode()
Fungsi digunakan untuk perhitungan enkripsi tanda tangan.
Peraturanexchange.Encode()
fungsi mengembalikan pengkodean nilai hash yang dihitung.
string
exchange.Encode ((algo, inputFormat, outputFormat, data) exchange.Encode ((algo, inputFormat, outputFormat, data, keyFormat, key)
Parameteralgo
adalah algoritma yang digunakan untuk perhitungan pengkodean. Pengaturan yang didukung adalah: algo
juga mendukung: algo
juga mendukung: algo
dapat ditulis sebagai ed25519.seed
perhitungan.
sesuatu
benar
string
Digunakan untuk menentukan format data daridata
parameter.inputFormat
parameter dapat diatur ke salah satu dari: hex
dikodekan, base64
dikodekan, dan outputFormat
parameter mendukung pengaturan berikut: hex
dikodekan, base64
dikodekan, dan data
adalah data yang akan diproses.
data
benar
string
Digunakan untuk menentukan format data darikey
parameter.key
parameter dapat diatur ke salah satu dari: hex
dikodekan, base64
dikodekan, dan key
parameter digunakan untuk menentukan kunci yang digunakan dalam perhitungan tanda tangan, dan dapat digunakan sebagai string plaintext."{{accesskey}}"
, "{{secretkey}}"
untuk merujuk padaaccessKey
dansecretKey
dikonfigurasi dalam objek pertukaran {@var/EXCHANGE exchange}
kunci
palsu
string
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"];
}
}
}
Contoh push perubahan posisi BitMEX (protocol wss):
Hanya perdagangan nyata mendukung panggilanexchange.Encode()
Fungsi."{{accesskey}}"
, "{{secretkey}}"
Referensi hanya berlaku jikaexchange.Encode()
fungsi digunakan.
{@var/EXCHANGE exchange}, {@fun/Global/Encode Encode}
exchange.Log exchange.Go