Files
gocryptotrader/cmd/documentation/backtester_templates/backtester_btrpc_readme.tmpl
Adrian Gallagher ba92ba3254 docs: Add CODING_GUIDELINES.md and other adjustments (#1988)
* docs: Create new CODING_GUIDELINES doc

Rids excess contribution instructions from other packages
Adds AGENTS.md file for the AI overlords
Rids unused templates
Updates ADD_NEW_EXCHANGE.md with minor fixes

* docs: Fix linter issues and minor adjustments based on Copilot feedback

* docs: Update coding guidelines for API parameters and testing practices

* docs: Remove redundant GoDoc references

Adds copilot-instructions.md

* docs: Update CODING_GUIDELINES with export recommendations and test commentary

* docs: Fix formatting inconsistencies in ADD_NEW_EXCHANGE.md links

* docs: Update struct naming conventions for request and response types

* docs: Improve clarity and consistency in ADD_NEW_EXCHANGE.md and CODING_GUIDELINES.md

* refactor: Simplify error handling in QueryOrder method
2025-08-08 12:10:53 +10:00

59 lines
2.0 KiB
Cheetah

{{define "backtester btrpc" -}}
{{template "backtester-header" .}}
## {{.CapitalName}} overview
The GoCryptoTrader Backtester utilises gRPC for client/server interaction. Authentication is done
by a self signed TLS cert, which only supports connections from localhost and also
through basic authorisation specified by the users config file.
The GoCryptoTrader Backtester also supports a gRPC JSON proxy service for applications which can
be toggled on or off depending on the users preference. This can be found in your config file
under `grpcProxyEnabled` `grpcProxyListenAddress`. See `btrpc.swagger.json` for endpoint definitions
## Installation
The GoCryptoTrader Backtester requires a local installation of the Google protocol buffers
compiler `protoc` v3.0.0 or above. Please install this via your local package
manager or by downloading one of the releases from the official repository:
[protoc releases](https://github.com/protocolbuffers/protobuf/releases)
Then use `go install` to download the following packages:
```bash
go install \
github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-grpc-gateway \
github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2 \
google.golang.org/protobuf/cmd/protoc-gen-go \
google.golang.org/grpc/cmd/protoc-gen-go-grpc
```
This will place the following binaries in your `$GOBIN`;
* `protoc-gen-grpc-gateway`
* `protoc-gen-openapiv2`
* `protoc-gen-go`
* `protoc-gen-go-grpc`
Make sure that your `$GOBIN` is in your `$PATH`.
### Linux / macOS / Windows
The GoCryptoTrader Backtester requires a local installation of the `buf` cli tool that tries to make Protobuf handling more easier and reliable,
after [installation](https://docs.buf.build/installation) you'll need to run:
```shell
buf mod update
```
After previous command, make necessary changes to the `rpc.proto` spec file and run the generation command:
```shell
buf generate
```
If any changes were made, ensure that the `rpc.proto` file is formatted correctly by using `buf format -w`
{{template "donations" .}}
{{end}}