karalef / coincap

GoLang wrapper for CoinCap API

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GoLang CoinCap API

Library for interaction with CoinCap API 2.0. Supports all methods and types of responses including WebSockets.

How to install

go get -u github.com/karalef/coincap

Testing

go test .

Usage

import "github.com/karalef/coincap"

...

client := coincap.DefaultClient

Custom client

import "github.com/gorilla/websocket"

wsDialer := websocket.Dialer{
    ...
}

client := coincap.New(&http.Client{}, &wsDialer)

Examples

Get Asset data

asset, timestamp, err := client.AssetById("bitcoin")

Get historical data

params := coincap.CandlesRequest{
    ExchangeID: "binance",
    BaseID:     "ethereum",
    QuoteID:    "bitcoin",
}

interval := coincap.IntervalParams{
    Interval: coincap.Hour,
    Start:    time.Now().Add(-time.Day*5),
    End:      time.Now(),
}

candles, timestamp, err := client.Candles(params, &interval, nil)

WebSockets

stream, err := client.Trades("binance")
if err != nil {
    ...
}

ch := stream.DataChannel()
for {
    trade, ok := <-ch
    if !ok {
        err := stream.Err()
        ...
    }
    ...
}
stream.Close()

About

GoLang wrapper for CoinCap API

License:MIT License


Languages

Language:Go 100.0%