Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Exchange API Server quick start

Intro

This document describes the environment and the set of steps aiming to create a local development and debugging environment.

Prerequisites

  • OS: Ubuntu 24.04 LTS.

Dependencies

Installation

Create a new user (optional)

For development purposes recommended not to use root user. Command below will create a new Ubuntu user.

useradd -d /home/new_user -s /bin/bash -m new_user
sudo passwd new_user
usermod -aG sudo new_user

Install Java 17

sudo apt-get update
sudo apt install openjdk-17-jdk -y

Install SBT

sudo apt-get update
sudo apt-get install apt-transport-https curl gnupg -yqq
echo "deb https://repo.scala-sbt.org/scalasbt/debian all main" | sudo tee /etc/apt/sources.list.d/sbt.list
echo "deb https://repo.scala-sbt.org/scalasbt/debian /" | sudo tee /etc/apt/sources.list.d/sbt_old.list
curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | sudo -H gpg --no-default-keyring --keyring gnupg-ring:/etc/apt/trusted.gpg.d/scalasbt-release.gpg --import
sudo chmod 644 /etc/apt/trusted.gpg.d/scalasbt-release.gpg
sudo apt-get update
sudo apt-get install sbt

Install Postgresql

sudo apt-get update
sudo apt-get install postgresql
sudo systemctl status postgresql

Configure firewall rule for Postgresql port 5432

sudo iptables -A INPUT -p tcp --dport 5432 -m state --state NEW,ESTABLISHED -j ACCEPT

Create a new DB

sudo -u postgres psql
postgres=# CREATE USER new_user WITH PASSWORD 'password';
postgres=# CREATE DATABASE horizon OWNER new_user;
\q

Test connection to DB

psql "host=localhost dbname=horizon user=kevin password='password'"

Export environment variables

export EXCHANGE_DB_NAME=openhorizon
export EXCHANGE_DB_PW=password
export EXCHANGE_DB_USER=new_user
export EXCHANGE_ROOT_PW=root_password

Clone exchange-api and run it

https://github.com/open-horizon/exchange-api.git
~/exchange-api$ sbt
sbt:amd64_exchange-api> reStart