리소스 로딩... 로딩...

exchange.Encode

exchange.Encode()이 함수는 서명 암호화 계산에 사용됩니다.

exchange.Encode()함수는 계산된 해시 값의 인코딩을 반환합니다. 문자열

exchange.Encode ((algo, inputFormat, outputFormat, data) 를 입력할 수 있습니다. exchange.Encode ((algo, inputFormat, outputFormat, data, keyFormat, 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.256algo또한 지원합니다: text.encoder.utf8, text.decoder.utf8, text.encoder.gbk, text.decoder.gbk, 인코딩 및 디코딩 문자열. 매개 변수algo또한: ed25519 알고리즘을 지원합니다. 예를 들어 매개 변수algoed25519.md5, ed25519.sha512 등으로 쓸 수 있습니다. 지원합니다.ed25519.seed계산 뭔가 사실 문자열 데이터 형식을 지정하는 데 사용됩니다.data매개 변수inputFormat이 매개 변수는 raw, hex, base64, 그리고 string 중 하나로 설정할 수 있습니다.hex암호화된 경우, base64는 데이터가base64암호화된 것이고, string은 데이터가 문자열이라는 것을 의미합니다. 입력형식 사실 문자열 출력 데이터 형식을 지정하는 데 사용됩니다.outputFormat이 매개 변수는 다음 설정을 지원합니다: raw, hex, base64, string.hex암호화된 경우, base64는 데이터가base64암호화된 것이고, string은 데이터가 문자열이라는 것을 의미합니다. outputFormat 사실 문자열 매개 변수data처리해야 할 데이터입니다. 데이터 사실 문자열 데이터 형식을 지정하는 데 사용됩니다.key매개 변수key이 매개 변수는 raw, hex, base64, 그리고 string 중 하나로 설정할 수 있습니다.hex암호화된 경우, base64는 데이터가base64암호화된 것이고, string은 데이터가 문자열이라는 것을 의미합니다. 키포맷 거짓 문자열 의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