replace zxq.co/ripple/hanayo
This commit is contained in:
54
modules/btcconversions/btcconversions.go
Normal file
54
modules/btcconversions/btcconversions.go
Normal file
@@ -0,0 +1,54 @@
|
||||
package btcconversions
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"encoding/json"
|
||||
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
var rates = struct {
|
||||
EUR float64
|
||||
USD float64
|
||||
}{
|
||||
// 15m values fetched from blockchain ticker on 2017-02-25
|
||||
1118.33,
|
||||
1180.4,
|
||||
}
|
||||
|
||||
// GetRates returns the bitcoin rates as JSON.
|
||||
func GetRates(c *gin.Context) {
|
||||
c.JSON(200, rates)
|
||||
}
|
||||
|
||||
func init() {
|
||||
go func() {
|
||||
for {
|
||||
updateRates()
|
||||
time.Sleep(time.Hour)
|
||||
}
|
||||
}()
|
||||
}
|
||||
|
||||
type blockchainCurrency struct {
|
||||
// The X is necessary a) to make this exported b) because an identifier
|
||||
// can't start with a number.
|
||||
X15m float64 `json:"15m"`
|
||||
}
|
||||
|
||||
func updateRates() {
|
||||
resp, err := http.Get("https://blockchain.info/ticker")
|
||||
if err != nil {
|
||||
fmt.Println(err)
|
||||
return
|
||||
}
|
||||
|
||||
m := make(map[string]blockchainCurrency)
|
||||
json.NewDecoder(resp.Body).Decode(&m)
|
||||
|
||||
rates.EUR = m["EUR"].X15m
|
||||
rates.USD = m["USD"].X15m
|
||||
}
|
Reference in New Issue
Block a user