-
Notifications
You must be signed in to change notification settings - Fork 28
Expand file tree
/
Copy pathSimpleExamples.java
More file actions
72 lines (52 loc) · 2.5 KB
/
SimpleExamples.java
File metadata and controls
72 lines (52 loc) · 2.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
package dev.andstuff.kraken.example;
import static dev.andstuff.kraken.example.helper.CredentialsHelper.readFromFile;
import java.util.List;
import java.util.Map;
import com.fasterxml.jackson.databind.JsonNode;
import dev.andstuff.kraken.api.KrakenAPI;
import dev.andstuff.kraken.api.endpoint.market.params.AssetPairParams;
import dev.andstuff.kraken.api.endpoint.market.response.AssetInfo;
import dev.andstuff.kraken.api.endpoint.market.response.AssetPairs;
import dev.andstuff.kraken.api.endpoint.market.response.ServerTime;
import dev.andstuff.kraken.api.endpoint.market.response.SystemStatus;
import dev.andstuff.kraken.api.rest.KrakenCredentials;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class SimpleExamples {
static void main() {
/* Public endpoint examples */
KrakenAPI publicAPI = new KrakenAPI();
ServerTime serverTime = publicAPI.serverTime();
log.info("{}", serverTime);
SystemStatus systemStatus = publicAPI.systemStatus();
log.info("{}", systemStatus);
Map<String, AssetInfo> assets1 = publicAPI.assetInfo(List.of("BTC", "ETH"));
log.info("{}", assets1);
Map<String, AssetInfo> assets2 = publicAPI.assetInfo(List.of("DOT", "ADA"), "currency");
log.info("{}", assets2);
AssetPairs pairs1 = publicAPI.assetPairs(List.of("ETH/BTC", "ETH/USD"));
log.info("{}", pairs1);
AssetPairs pairs2 = publicAPI.assetPairs(List.of("DOT/USD", "ADA/USD"), AssetPairParams.Info.MARGIN);
log.info("{}", pairs2);
JsonNode ticker = publicAPI.query(KrakenAPI.Public.TICKER, Map.of("pair", "XBTEUR"));
log.info("{}", ticker);
JsonNode trades = publicAPI.queryPublic("Trades", Map.of("pair", "XBTUSD", "count", "1"));
log.info("{}", trades);
/* Private endpoint example */
KrakenCredentials credentials = readFromFile("/api-keys.properties");
KrakenAPI api = new KrakenAPI(credentials);
JsonNode balance = api.query(KrakenAPI.Private.BALANCE);
log.info("{}", balance);
JsonNode order = api.query(KrakenAPI.Private.ADD_ORDER, Map.of(
"ordertype", "limit",
"type", "sell",
"volume", "1",
"pair", "XLTCZUSD",
"price", "1000",
"oflags", "post,fciq",
"close[ordertype]", "limit",
"close[price]", "500",
"validate", "true")); // does not submit the order when set to true
log.info("{}", order);
}
}