This section requires a full exchange configuration through bitHolla Dashboard, HollaEx Kit folder as well as HollaEx CLI installed on your machine. Please check Before you start and Installation sections if you haven't already done these.

Exchange Server Initialization

If you are looking for a way to deploy HollaEx on Kubernetes, Please checkout Kubernetes docs available here.

You can now move on to initialize and setup your exchange by using the command below:

hollaex server --setup

The CLI will ask for your credentials for bitHolla Dashboard to login. You will be able to select your exchange through CLI once it's done. The CLI will automatically download your exchange configurations from bitHolla Dashboard.

The CLI will immediately proceed to build a custom Docker image based on your HollaEx Kit configuration and code. All components at the local HollaEx Kit can be customized based on your needs.

It is possible to set a custom name for the built image. We recommend you push the image to your docker registry as a backup for future usage and history.

Note: For Kubernetes deployment, you require to host your image on a docker registry.

Once it's all done, Press Y again to bring up the docker containers and configurations.

The CLI will proceed to launch the image you just built on your machine. This process typically takes a few minutes so be patient!

Once the hollaex server --setup process is done, you will have to manually start the exchange. Simply run the command below to actually start up the exchange.

hollaex server --start

You can see the exchange status briefly by using hollaex status command once the exchange is up.

Checking exchange

After starting your exchange, you can reach it through your web browser via the endpoints /v2/health and /v2/constant.

This API displays your exchange's name, HollaEx Core version number, host URL, base URL, and activation status.

This API shows the list of currencies and trading pairs that you have on your exchange. You would be able to see all currencies and trading pairs you configured through the bitHolla Dashboard. If you don't see a list of your currencies or trading pairs, restart the exchange by running the command hollaex server --restart. If that doesn't solve the issue, you can always bring it up to our forum.

You can view the API documentation for the exchange here.

Bringing up the Exchange website

HollaEx Kit provides a web client server as an open source project for a HollaEx Kit exchange. It's included in the /web directory of your HollaEx Kit. The default client contains everything needed for your exchange but feel free to customize it based on your needs. Check here to see more about web customization.

hollaex web --setup

This command will build the web client Docker image and do the initialization jobs for it. The build process could take longer than 5 minutes depends on your system resources. Hold tight with patient!

During the build, There could be warnings and errors printed by the npm package manager. Most of them would not going to affect the build process itself. You could ignore them unless the build procedure gets killed.

Once it gets all set, Simply start it by using the command below.

hollaex web --start

You'll be able to reach it by using the domain that you configured earlier through the bitHolla Dashboard. If you are running it locally, go to the localhost:8080 url mentioned below.

If you are running the Kit at the remote server, accessing to the web would be not available at this stage. You would face errors (or a blank page) if you go to the web with a plain IP address. To make it work, you should bind domains both for the web and the API server to make it accessible externally. Please follow the hollaex prod command instructions below.

Please check here to see more about hollaex web command sets.

You could also read more details here, including how to customize the web client, how to do a manual build, and what are the system requirements.

Opening the exchange to the internet

Now it is time to open your exchange to the internet, making it accessible externally with your own domain address. There's a command we've built to help you to expose the exchange to the public world.

You should own and have control (DNS settings) of it to run the command.

hollaex prod

There are 2 domains required for the exchange. One is for the exchange web, the other one is for the exchange API server. Provide the domain for the exchange web first. The CLI will automatically set the API domain based on the provided web domain. You could type 'N' on this menu and set the custom domain for API too.

The CLI will attempt to resolve the domains both for the web and the API. Once the test all get passed, You'll get the success message.

If it gets failed, the CLI will instruct about how to set up domain DNS. You could follow the guide from CLI to set up your domains and try the resolve test again.

Once the CLI successfully resolved both domains, you could issue SSL certificates for HTTPS connection for the next. Type 'Y' to continue. If you are planning to use an external load balancer with external SSL, or just want to skip it for now, type 'N'.

It runs hollaex toolbox --issue_ssl to start up the Let's Encrypt certbot. You'll see 2 domains both for the web and the API at the list. Select one of them to continue.

Since certbot only allows issuing a single SSL per each, you should repeat the issuing process once again.

Your exchange would be reachable with the domains you've added, with SSL. Before jumping in the use, the web server should be rebuilt to prevent a communication issue between the API server.

Run the command below to rebuild the web server image.

hollaex web --build

Once the web image gets built successfully, you'll see the instruction like the screenshot. Please run a hollaex web --apply command based on the printed instruction.

hollaex web --apply --registry <YOUR_IMAGE_REGISTRY> --tag <YOUR_IMAGE_TAG>

What to do next?

First of all, congrats! You just finished every step required to bootstrap your exchange. You can now freely look around your own exchange, get users, and start trading.

To get more instructions and use cases, please continue to read the How-tos section below.

We are glad that you become a part of the HollaEx community. 😊