You can initialize and setup your exchange by running the command below:
hollaex server --setup
The CLI will ask for the HollaEx Network selection.
By default, it selects the Mainnet HollaEx Network. You can also select the Testnet HollaEx Network in case you want to run an exchange just for testing purposes. If you have a private HollaEx Network, you need to select the Custom HollaEx Network option.
Please type in the valid option for you, and press the enter key to continue.
Once the network is selected, in case you are connecting to the Mainnet HollaEx Network, the next step is to create an account on HollaEx Dashboard. If you do not have an account type 'N' and proceed to create an account.
Once you are done with the account registration, you need to login and continue to set up your exchange through the setup wizard which takes a few minutes. You should specify your exchange name, region, and currencies/trading market that you want to support.
As the last part, you should select the DIY option at the bottom of the page.
Once you are done with this process, you can simply type 'Y' on the CLI and type in your existing account.
Please come back to the CLI once the registration procedure is done, and type 'C' to continue.
Now you can provide your registered account on the CLI.
Select the exchange number, and press 'Y' to proceed. (It should be
1unless you have multiple exchanges)
The HollaEx CLI will then finalize the exchange initialization if all the values are valid.
The CLI then immediately proceeds 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 must host your image on a docker registry.
The CLI will proceed to launch the image you just built on your machine. This process typically takes a few minutes so be patient!
hollaex server --setupprocess is completed, you have to manually start the exchange. Simply run the command below to start the exchange.
hollaex server --start
You can see the exchange status briefly by using
hollaex statuscommand once the exchange is up.
After starting your exchange, you can reach it through your web browser via the endpoints
This API displays your exchange's name, HollaEx 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 will be able to see all currencies and trading pairs you selected. 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 the forum.
HollaEx Kit provides a web client server as an open source project for a HollaEx Kit exchange. It's included in the
/webdirectory 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 depending on your system resources. Hold tight with patience!
Once it gets all set, Simply start it by using the command below.
hollaex web --start
Mostly done! All you need to do now is finalize the setup.
You need to create a new account that you are going to use for admin operation.
You should provide a VALID email address for this. The email address should be different from the HollaEx Dashboard account you've created. Again, this email will be used for the admin account of your exchange.
You will be able to see the main page of the exchange after you finalize all of those items above.
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.
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 tests all get passed, You'll get the success message.
If either gets failed, the CLI will instruct about how to set up domain DNS. You can follow the guide from CLI to set up your domains and try the resolve tests again.
Once the CLI successfully resolves both domains, you can issue SSL certificates for HTTPS connection 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 then runs
hollaex toolbox --issue_sslto start up the Let's Encrypt
certbot. You'll see 2 domains both for the web and the API on the list. Select one of them to continue.
certbotonly allows issuing a single SSL at a time, you should repeat the issuing process once again.
Your exchange will then be reachable with the domains you've added, with SSL. Before jumping into 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 in the screenshot. Please run a
hollaex web --applycommand based on the printed instruction.
hollaex web --apply --registry <YOUR_IMAGE_REGISTRY> --tag <YOUR_IMAGE_TAG>
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 have become a part of the HollaEx community. 😊