-
Notifications
You must be signed in to change notification settings - Fork 0
/
bitbank_api.go
82 lines (71 loc) · 1.43 KB
/
bitbank_api.go
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
73
74
75
76
77
78
79
80
81
82
package EightBit
import (
"encoding/json"
"fmt"
"io/ioutil"
"log"
"net/http"
)
var (
PublicApi = "https://public.bitbank.cc/"
)
type CryptoJson struct {
Success int `json:"success"`
Data MarketData `json:"data"`
}
type MarketData struct {
Sell string `json:"sell"`
Buy string `json:"buy"`
High string `json:"high"`
Low string `json:"low"`
Last string `json:"last"`
Vol string `json:"vol"`
Timestamp int64 `json:"timestamp"`
}
func GetCryptoJpy(name string) MarketData {
req, err := http.NewRequest("GET", PublicApi+ name + "_jpy" + "/ticker", nil)
if err != nil {
log.Fatal(err)
}
req.Header.Set("EightBit", "OSS")
client := new(http.Client)
res, err := client.Do(req)
defer res.Body.Close()
if err != nil {
log.Fatal(err)
}
body, err := ioutil.ReadAll(res.Body)
if err != nil {
log.Fatal(err)
}
var cj CryptoJson
err = json.Unmarshal([]byte(body), &cj)
if err != nil {
fmt.Println(err)
}
if cj.Success != 1 {
fmt.Println("[EightBit] Failed API request")
}
return cj.Data
}
func Get_btc_jpy() MarketData {
return GetCryptoJpy("btc")
}
func Get_xrp_jpy() MarketData {
return GetCryptoJpy("xrp")
}
func Get_ltc_jpy() MarketData {
return GetCryptoJpy("ltc")
}
func Get_eth_jpy() MarketData {
return GetCryptoJpy("eth")
}
func Get_mona_jpy() MarketData {
return GetCryptoJpy("mona")
}
func Get_bcc_jpy() MarketData {
return GetCryptoJpy("bcc")
}
func Get_xlm_jpy() MarketData {
return GetCryptoJpy("xlm")
}