Skip to content

Development Guide

Peter Keeler edited this page Feb 11, 2021 · 5 revisions

Development Guide

Compiling

If you would like to make your own changes to Arbitrader, please start by forking the project and cloning your fork.

Arbitrader is a Java project and uses the Gradle wrapper. You just need to have a Java 11 JDK and Docker installed on your machine. Clone the project and run the following to compile it:

./gradlew clean build

If you would like to run the build without running the tests, you can exclude them like this:

./gradlew clean build -x check

Running With Your Changes

If it compiles successfully it will build an executable JAR file in build/libs as well as a Docker container named agonyforge/arbitrader:latest. There is a docker-compose.yaml in the project's main directory, so the easiest way to start it up is:

docker-compose up

When the bot starts up you will see a banner and some log messages while it reads the configuration from application.yaml and connects to the exchanges. Once the initialization is done it will probably appear to do nothing for awhile, while it searches for trade opportunities.

Debugging

You can connect a remote debugger to the running Docker container from your IDE (I use IntelliJ IDEA) by connecting it to port 5005 of the Docker container while it's running. That will let you set breakpoints and step through the code as it runs.