Tolak transaksi Binance ke WeChat dalam masa nyata (amalan protokol wss)

Binance Study Webscoket PushMessage
Tarikh penciptaan: 2018-10-20 14:42:39 Akhirnya diubah suai: 2019-07-03 16:27:05
Salin: 105 Bilangan klik: 6234
3
fokus pada
1444
Pengikut

Melalui protokol websocket, maklumat urus niaga Bitcoin boleh dihantar ke WeChat sebagai latihan untuk protokol WSS. Prinsipnya adalah untuk mengemas kini listenKey setiap 30 minit, dan kemudian melanggan aliran data yang telah didaftarkan oleh akaun tersebut.

Kod sumber strategi
function main() {
    var listenKey = JSON.parse(HttpQuery('https://api.binance.com/api/v1/userDataStream','',null,'X-MBX-APIKEY:'+APIKEY)).listenKey;
    HttpQuery('https://api.binance.com/api/v1/userDataStream', {method:'DELETE',data:'listenKey='+listenKey}, null,'X-MBX-APIKEY:'+ APIKEY);
    listenKey = JSON.parse(HttpQuery('https://api.binance.com/api/v1/userDataStream','',null,'X-MBX-APIKEY:'+ APIKEY)).listenKey;
    var datastream = Dial("wss://stream.binance.com:9443/ws/"+listenKey, 100);
    var update_listenKey_time =  Date.now()/1000;
    while (true){
        if (Date.now()/1000 - update_listenKey_time > 1800){
            update_listenKey_time = Date.now()/1000;
            HttpQuery('https://api.binance.com/api/v1/userDataStream', {method:'PUT',data:'listenKey='+listenKey}, null,'X-MBX-APIKEY:'+ APIKEY);
            Log('keep listenKey alive');
        }
        var data = datastream.read();
        if(data){
            data = JSON.parse(data);
            if(data.e == 'executionReport' && data.x == 'TRADE'){
                Log(data.S, data.s,  'amount is ', data.l, 'at price:', data.p, '@');
            }
        }
    }
}