Sumber daya yang dimuat... Pemuatan...

exchange.Encode

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)

Parameteralgoadalah algoritma yang digunakan untuk perhitungan pengkodean. Pengaturan yang didukung adalah: raw (tidak menggunakan algoritma), 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, blake2s.128, blake2s.256algojuga mendukung: text.encoder.utf8, text.decoder.utf8, text.encoder.gbk, text.decoder.gbk, untuk pengkodean dan dekodean string.algojuga mendukung: ed25519 algoritma. Ini mendukung penggunaan algoritma hash yang berbeda, misalnya parameteralgodapat ditulis sebagai ed25519.md5, ed25519.sha512, dll. Mendukunged25519.seedperhitungan. sesuatu benar string Digunakan untuk menentukan format data daridataparameter.inputFormatparameter dapat diatur ke salah satu dari: raw, hex, base64, dan string. raw berarti data adalah data mentah, hex berarti data adalahhexdikodekan, base64 berarti data adalahbase64dikodekan, dan string berarti data adalah string. inputFormat benar string Digunakan untuk menentukan format data output.outputFormatparameter mendukung pengaturan berikut: raw, hex, base64, string. raw berarti data adalah data mentah, hex berarti data adalahhexdikodekan, base64 berarti data adalahbase64dikodekan, dan string berarti data adalah string. outputFormat benar string Parameterdataadalah data yang akan diproses. data benar string Digunakan untuk menentukan format data darikeyparameter.keyparameter dapat diatur ke salah satu dari: raw, hex, base64, dan string. raw berarti data adalah data mentah, hex berarti data adalahhexdikodekan, base64 berarti data adalahbase64dikodekan, dan string berarti data adalah string. keyFormat palsu string Peraturankeyparameter digunakan untuk menentukan kunci yang digunakan dalam perhitungan tanda tangan, dan dapat digunakan sebagai string plaintext."{{accesskey}}", "{{secretkey}}"untuk merujuk padaaccessKeydansecretKeydikonfigurasi 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