/coincap

GoLang wrapper for CoinCap API

Primary LanguageGoMIT LicenseMIT

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()