Deribit 교환 웹 소켓 API의 접속 예

Deribit 웹 소켓 API 연결 예제, 자바 스크립트 언어를 사용, 정책 FMZ 발명가 정량 플랫폼에서 실행됩니다.

원본 주소 : https://www.fmz.com/strategy/147765

 

클라이언트 널 (null) = var에 
var에 deribitAcc = {} 전역 개체를 저장 // 토큰 제공 될 수있다 

기능 WS_GetAccount을 () {// 통화 계정 자산 정보 가져 오기 
    var에 MSG = { 
        "JSONRPC": "2.0", 
        "ID를" 2515, 
        "방법": "개인 / get_account_summary", 
        "를 PARAMS": { 
            "환율": "는 ETH", 
            "확장": true로 
        } 
    } 

    client.write합니다 (JSON.stringify (MSG)) 
    var에 RET = client.read ( ) 
    로그 (RET, "#의 FF0000") 
} 

함수 WS_GetToken () {// 인증, 토큰 획득 
    VAR의 MSG = { 
        "JSONRPC" "2.0", 
        "ID"9929을
        "방법": "공공 / 인증", 
        "PARAMS": { 
            "grant_type": "client_credentials", 
            "CLIENT_ID": "XXXXXXX", //申请API 키时获取
            "client_secret": "XXXXXXXXXXXXXXXXXXXXXXXXXX"//申请API 키时获取
        } 
    } 
    동안 (1) { 
        client.write (JSON.stringify (MSG)) 
        VAR의 RET = client.read () 
        {시도 
            VAR jsonObj = JSON.parse (RET)을 
            (jsonObj) {경우 
                deribitAcc.accessToken = jsonObj. result.access_token 
                deribitAcc.refToken = jsonObj.result.refresh_token도 
                휴식  
            }
        } 캐치 (전자) { 
            로그 ( "오류", E) 
        } 
    } 
    로그 ( "업데이트 accessToken deribitAcc, refToken", deribitAcc) 
} 

함수 WS_Depth () {// get_order_book 공용 액세스 채널은, 주문을 얻기 위해 얇은 심도 데이터 
    var에 MSG {= 
        "JSONRPC": "2.0", 
        "ID": 8772, 
        "방법": "공공 / get_order_book는", 
        "를 PARAMS": { 
            "INSTRUMENT_NAME": "BTC-영구은"// 지속 계약이 BTC를 얻을 수 지정 깊이 데이터 
            "깊이":. 5 
        } 
    } 

    client.write합니다 (JSON.stringify (MSG)) 
    var에 RET = 클라이언트.) (읽기 
    : 로그인 (RET "깊이") 
} 

의 주요 기능을 () {
    클라이언트 전화 = ( "WSS : //www.deribit.com/ws/api/v2") 
    WS_GetToken () 

    WS_GetAccount () 
    WS_Depth () 

} 

함수의 OnExit () { 
    로그 ( "关闭의 WS连接") 
    client.close () 
}

  

추천

출처www.cnblogs.com/botvsing/p/10984090.html