# GoCryptoTrader package Apiserver [![Build Status](https://github.com/thrasher-corp/gocryptotrader/actions/workflows/tests.yml/badge.svg?branch=master)](https://github.com/thrasher-corp/gocryptotrader/actions/workflows/tests.yml) [![Software License](https://img.shields.io/badge/License-MIT-orange.svg?style=flat-square)](https://github.com/thrasher-corp/gocryptotrader/blob/master/LICENSE) [![GoDoc](https://godoc.org/github.com/thrasher-corp/gocryptotrader?status.svg)](https://godoc.org/github.com/thrasher-corp/gocryptotrader/engine/apiserver) [![Coverage Status](http://codecov.io/github/thrasher-corp/gocryptotrader/coverage.svg?branch=master)](http://codecov.io/github/thrasher-corp/gocryptotrader?branch=master) [![Go Report Card](https://goreportcard.com/badge/github.com/thrasher-corp/gocryptotrader)](https://goreportcard.com/report/github.com/thrasher-corp/gocryptotrader) This apiserver 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) ## Current Features for Apiserver + The API server subsystem is a deprecated service used to host a REST or websocket server to interact with some functions of GoCryptoTrader + This subsystem is no longer maintained and it is highly encouraged to interact with GRPC endpoints directly where possible + In order to modify the behaviour of the API server subsystem, you can edit the following inside your config file: ### deprecatedRPC | Config | Description | Example | | ------ | ----------- | ------- | | enabled | If enabled will create a REST server which will listen to commands on the listen address | `true` | | listenAddress | If enabled will listen for REST requests on this address and return a JSON response | `localhost:9050` | ### websocketRPC | Config | Description | Example | | ------ | ----------- | ------- | | enabled | If enabled will create a REST server which will listen to commands on the listen address | `true` | | listenAddress | If enabled will listen for requests on this address and return a JSON response | `localhost:9051` | | connectionLimit | Defines how many connections the websocket RPC server can handle simultanesoly | `1` | | maxAuthFailures | For authenticated endpoints, the amount of failed attempts allowed before disconnection | `3` | | allowInsecureOrigin | Allows use of insecure connections | `true` | ### 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 If this framework helped you in any way, or you would like to support the developers working on it, please donate Bitcoin to: ***bc1qk0jareu4jytc0cfrhr5wgshsq8282awpavfahc***