Tài nguyên đang được tải lên... tải...

exchange.Encode

Cácexchange.Encode()chức năng được sử dụng để tính toán mã hóa chữ ký.

Cácexchange.Encode()hàm trả về mã hóa giá trị băm được tính toán. chuỗi

exchange.Encode ((algo, inputFormat, outputFormat, data) exchange.Encode ((algo, inputFormat, outputFormat, data, keyFormat, key)

Các thông sốalgolà thuật toán được sử dụng để tính toán mã hóa. Các cài đặt được hỗ trợ là: raw (không sử dụng thuật toán), 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.1288, blake2s.256algocũng hỗ trợ: text.encoder.utf8, text.decoder.utf8, text.encoder.gbk, text.decoder.gbk, để mã hóa và giải mã chuỗi.algocũng hỗ trợ: thuật toán ed25519. Nó hỗ trợ việc sử dụng các thuật toán băm khác nhau, ví dụ như tham sốalgocó thể được viết như ed25519.md5, ed25519.sha512, v.v.ed25519.seedtính toán. algo đúng chuỗi Sử dụng để xác định định dạng dữ liệu củadatacác tham số.inputFormattham số có thể được đặt thành một trong: raw, hex, base64, và string. raw có nghĩa là dữ liệu là dữ liệu thô, hex có nghĩa là dữ liệu làhexđược mã hóa, base64 có nghĩa là dữ liệu làbase64được mã hóa, và string có nghĩa là dữ liệu là một chuỗi. inputFormat đúng chuỗi Sử dụng để xác định định dạng dữ liệu đầu ra.outputFormattham số hỗ trợ các thiết lập sau: raw, hex, base64, string. raw có nghĩa là dữ liệu là dữ liệu thô, hex có nghĩa là dữ liệu làhexđược mã hóa, base64 có nghĩa là dữ liệu làbase64được mã hóa, và string có nghĩa là dữ liệu là một chuỗi. outputFormat đúng chuỗi Các thông sốdatalà dữ liệu được xử lý. dữ liệu đúng chuỗi Sử dụng để xác định định dạng dữ liệu củakeycác tham số.keytham số có thể được đặt thành một trong: raw, hex, base64, và string. raw có nghĩa là dữ liệu là dữ liệu thô, hex có nghĩa là dữ liệu làhexđược mã hóa, base64 có nghĩa là dữ liệu làbase64được mã hóa, và string có nghĩa là dữ liệu là một chuỗi. keyFormat sai chuỗi Cáckeytham số được sử dụng để chỉ định khóa được sử dụng trong tính toán chữ ký, và nó có thể được sử dụng như một chuỗi văn bản thuần túy."{{accesskey}}", "{{secretkey}}"để đề cập đếnaccessKeysecretKeyđược cấu hình trong {@var/EXCHANGE exchange} đối tượng trao đổi. chìa khóa sai chuỗi

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"];
        }
    }
}

Ví dụ về việc đẩy thay đổi vị trí BitMEX (chỉ dẫn wss):

Chỉ có thương mại thực sự hỗ trợ gọiexchange.Encode()chức năng."{{accesskey}}", "{{secretkey}}"tham chiếu chỉ có giá trị khiexchange.Encode()chức năng được sử dụng.

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

exchange.Log exchange.Go