BITMEX
bitmex WebSocket API java
import java.io.UnsupportedEncodingException;
import java.security.InvalidKeyException;
import java.security.NoSuchAlgorithmException;
import org.knowm.xchange.bitmex.service.BitmexDigest;
import org.knowm.xchange.utils.nonce.ExpirationTimeFactory;
import com.neovisionaries.ws.client.WebSocket;
import com.neovisionaries.ws.client.WebSocketAdapter;
import com.neovisionaries.ws.client.WebSocketFactory;
import si.mazi.rescu.SynchronizedValueFactory;
public class WebSocketChatClient {
private static SynchronizedValueFactory<Long> nonceFactory = new ExpirationTimeFactory(30);
static String API_KEY = "";
static String API_SECRET = "";
static Long EXPIRES = (long) 0;
public static String bitmex_signature()
throws UnsupportedEncodingException, NoSuchAlgorithmException, InvalidKeyException {
BitmexDigest BD = BitmexDigest.createInstance(API_SECRET);
String API_SIGNATURE = "";
String ENDPOINT = "/realtime";
String VERB = "GET";
String BITMEX_URL = "wss://www.bitmex.com";
EXPIRES = nonceFactory.createValue();
String data = VERB + ENDPOINT + String.valueOf(EXPIRES);
return BD.digestString(data);
}
public static void main(String[] args) throws Exception
{
WebSocket ws = new WebSocketFactory().createSocket("wss://www.bitmex.com/realtime?subscribe=account:XBTUSD")
.addListener(new WebSocketAdapter() {
@Override
public void onTextMessage(WebSocket ws, String message) {
System.out.println(" message : "+message);
}
}).connect();
String bitmex_signature = bitmex_signature();
ws.sendText("{\"op\" : \"authKeyExpires\", \"args\" : [\""+API_KEY+"\","+EXPIRES+",\""+bitmex_signature+"\"]}");
ws.sendText("{\"op\" : \"subscribe\" , \"args\" : [\"position:XBTUSD\"]}");
}
댓글 쓰기
0 댓글