Skip to content
This repository has been archived by the owner on Jan 25, 2021. It is now read-only.

This repository is a golang porting of v2.0 Bittrex API

License

Notifications You must be signed in to change notification settings

thebotguys/golang-bittrex-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

THIS PROJECT IS NOW ARCHIVED

You can use toorop/go-bittrex library to connect to Bittrex API.

golang-bittrex-api

The Bot Guy <[email protected]>

Build Status

This wrapper will allow to connect to Bittrex API (version 2.0)

Getting the package

$ go get github.com/thebotguys/golang-bittrex-api/bittrex

Calling the API functions

For Public API is simple:

result, err := bittrex.APIFuncDesired(parameters)
if err != nil {
    // Handle error
}
// For example
marketSummaries, err := bittrex.GetMarketSummary("BTC-ETH")
if err != nil {
    fmt.Println("ERROR OCCURRED: ", err)
}

For Private API is almost equally simple, you have to provide an auth struct with your keys:

auth := bittrex.Auth{
    PublicKey: "YOUR-PUBLIC-KEY",
    SecretKey: "YOUR-SECRET-KEY",
}
result, err := bittrex.PrivateAPIFuncDesired(auth, parameters)
if err != nil {
    // Handle error
}
// For example
balances, err := bittrex.GetBalance(auth, "BTC")
if err != nil {
    fmt.Println("ERROR OCCURRED: ", err)
}

You are strongly advised to check if the API is online at the start of your program, with the following code:

err := bittrex.IsAPIAlive()
if err != nil {
    fmt.Println("CANNOT REACH BITTREX API SERVERS: ", err)
}

If you are VERY HARDCORE you can use an Options struct to handle all connections parameters, like Connection Timeout:

// Currently this feature is not implemented
marketSummaries, err := bittrex.GetMarketSummariesWithOpts(&bittrex.Options{
    ConnTimeout: time.Second * 30,
})
if err != nil {
    fmt.Println("ERROR OCCURRED: ", err)
}

Check out the tests (like this one) for an example of usage, but most of the times it will be as simple as the code above.

API Limits

The API limits are unknown at the moment but there is an important note, came from resolving a test error:

Due to the Bittrex anti DDoS System (Cloudflare) it’s not possible to perform more than one request per second (otherwise it will be cached, resulting in error like the one described in Issue #18)

I publicly thank @mastrolinux, which helped me in the discovery process of this (let’s call it) bug.

Socket API

Work in progress

About

This repository is a golang porting of v2.0 Bittrex API

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages