mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-13 23:16:45 +00:00
* Add initial workflows config * Add PSQL service * Add 32bit and frontend jobs * Add gcc-multilib and fix typo * Fix backtester test for linux/unix filesystem errors and npm commands * 32-bit Add -race to purposefully throw an error to ensure envs are set correctly (will revert) * Revert "32-bit Add -race to purposefully throw an error to ensure envs are set correctly (will revert)" This reverts commit b97e66c49fca859f8738e01107f96f9ca4040b2e. * Bump workers count for orderbook processing * Remove comments to trigger 32-bit cache hit after job success * Cancel addition plus version bump, spawn more overlords * Update build badge to Github Actions * Brach -> Branch
141 lines
4.7 KiB
Markdown
141 lines
4.7 KiB
Markdown
# GoCryptoTrader package Binance
|
|
|
|
<img src="https://github.com/thrasher-corp/gocryptotrader/blob/master/web/src/assets/page-logo.png?raw=true" width="350px" height="350px" hspace="70">
|
|
|
|
|
|
[](https://github.com/thrasher-corp/gocryptotrader/actions/workflows/tests.yml)
|
|
[](https://github.com/thrasher-corp/gocryptotrader/blob/master/LICENSE)
|
|
[](https://godoc.org/github.com/thrasher-corp/gocryptotrader/exchanges/binance)
|
|
[](http://codecov.io/github/thrasher-corp/gocryptotrader?branch=master)
|
|
[](https://goreportcard.com/report/github.com/thrasher-corp/gocryptotrader)
|
|
|
|
|
|
This binance package is part of the GoCryptoTrader codebase.
|
|
|
|
## This is still in active development
|
|
|
|
You can track ideas, planned features and what's in progress on this Trello board: [https://trello.com/b/ZAhMhpOy/gocryptotrader](https://trello.com/b/ZAhMhpOy/gocryptotrader).
|
|
|
|
Join our slack to discuss all things related to GoCryptoTrader! [GoCryptoTrader Slack](https://join.slack.com/t/gocryptotrader/shared_invite/enQtNTQ5NDAxMjA2Mjc5LTc5ZDE1ZTNiOGM3ZGMyMmY1NTAxYWZhODE0MWM5N2JlZDk1NDU0YTViYzk4NTk3OTRiMDQzNGQ1YTc4YmRlMTk)
|
|
|
|
## Binance Exchange
|
|
|
|
### Current Features
|
|
|
|
+ REST Support
|
|
+ Websocket Support
|
|
|
|
### How to enable
|
|
|
|
+ [Enable via configuration](https://github.com/thrasher-corp/gocryptotrader/tree/master/config#enable-exchange-via-config-example)
|
|
|
|
+ Individual package example below:
|
|
|
|
```go
|
|
// Exchanges will be abstracted out in further updates and examples will be
|
|
// supplied then
|
|
```
|
|
|
|
### How to do REST public/private calls
|
|
|
|
+ If enabled via "configuration".json file the exchange will be added to the
|
|
IBotExchange array in the ```go var bot Bot``` and you will only be able to use
|
|
the wrapper interface functions for accessing exchange data. View routines.go
|
|
for an example of integration usage with GoCryptoTrader. Rudimentary example
|
|
below:
|
|
|
|
main.go
|
|
```go
|
|
var b exchange.IBotExchange
|
|
|
|
for i := range bot.Exchanges {
|
|
if bot.Exchanges[i].GetName() == "Binance" {
|
|
b = bot.Exchanges[i]
|
|
}
|
|
}
|
|
|
|
// Public calls - wrapper functions
|
|
|
|
// Fetches current ticker information
|
|
tick, err := b.FetchTicker()
|
|
if err != nil {
|
|
// Handle error
|
|
}
|
|
|
|
// Fetches current orderbook information
|
|
ob, err := b.FetchOrderbook()
|
|
if err != nil {
|
|
// Handle error
|
|
}
|
|
|
|
// Private calls - wrapper functions - make sure your APIKEY and APISECRET are
|
|
// set and AuthenticatedAPISupport is set to true
|
|
|
|
// Fetches current account information
|
|
accountInfo, err := b.GetAccountInfo()
|
|
if err != nil {
|
|
// Handle error
|
|
}
|
|
```
|
|
|
|
+ If enabled via individually importing package, rudimentary example below:
|
|
|
|
```go
|
|
// Public calls
|
|
|
|
// Fetches current ticker information
|
|
ticker, err := b.GetTicker()
|
|
if err != nil {
|
|
// Handle error
|
|
}
|
|
|
|
// Fetches current orderbook information
|
|
ob, err := b.GetOrderBook()
|
|
if err != nil {
|
|
// Handle error
|
|
}
|
|
|
|
// Private calls - make sure your APIKEY and APISECRET are set and
|
|
// AuthenticatedAPISupport is set to true
|
|
|
|
// GetUserInfo returns account info
|
|
accountInfo, err := b.GetUserInfo(...)
|
|
if err != nil {
|
|
// Handle error
|
|
}
|
|
|
|
// Submits an order and the exchange and returns its tradeID
|
|
tradeID, err := b.Trade(...)
|
|
if err != nil {
|
|
// Handle error
|
|
}
|
|
```
|
|
|
|
### How to do Websocket public/private calls
|
|
|
|
```go
|
|
// Exchanges will be abstracted out in further updates and examples will be
|
|
// supplied then
|
|
```
|
|
|
|
### Please click GoDocs chevron above to view current GoDoc information for this package
|
|
|
|
## Contribution
|
|
|
|
Please feel free to submit any pull requests or suggest any desired features to be added.
|
|
|
|
When submitting a PR, please abide by our coding guidelines:
|
|
|
|
+ Code must adhere to the official Go [formatting](https://golang.org/doc/effective_go.html#formatting) guidelines (i.e. uses [gofmt](https://golang.org/cmd/gofmt/)).
|
|
+ Code must be documented adhering to the official Go [commentary](https://golang.org/doc/effective_go.html#commentary) guidelines.
|
|
+ Code must adhere to our [coding style](https://github.com/thrasher-corp/gocryptotrader/blob/master/doc/coding_style.md).
|
|
+ Pull requests need to be based on and opened against the `master` branch.
|
|
|
|
## Donations
|
|
|
|
<img src="https://github.com/thrasher-corp/gocryptotrader/blob/master/web/src/assets/donate.png?raw=true" hspace="70">
|
|
|
|
If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to:
|
|
|
|
***bc1qk0jareu4jytc0cfrhr5wgshsq8282awpavfahc***
|