Note: Before completing this guide, make sure you have completed the general onboarding guide in the base mojaloop repository.
- Prerequisites
- Service Overview
- Installing and Building
- Running Locally
- Running Inside Docker
- Testing
- Common Errors/FAQs
If you have followed the general onboarding guide, you should already have the following cli tools installed:
brew
(macOS), [todo: windows package manager]curl
,wget
docker
+docker-compose
node
,npm
and (optionally)nvm
The Interop APIs BC consists of the following packages;
fspiop-api-svc
FSPIOP API Service.
README
fspiop-utils-lib
FSPIOP Utils Library.
README
shared-mocks-lib
Mock implementation used for testing.
README
Firstly, clone your fork of the interop-apis-bc
onto your local machine:
git clone https://github.com/<your_username>/interop-apis-bc.git
Then cd
into the directory and install the node modules:
cd interop-apis-bc
More information on how to install NVM: https://github.com/nvm-sh/nvm
nvm install
nvm use
npm install
npm run build
In this method, we will run all of the core dependencies inside of docker containers, while running the fspiop-api-svc
server on your local machine.
Use platform-shared-tools docker-compose files:
Follow instructions in the README.md
files to run the supporting services. Make sure you have the following services up and running:
- infra services : docker-compose-infra
- mongo
- kafka
- zoo
- prometheus
- zoo
- cross-cutting services : docker-compose-cross-cutting
- auditing-svc
- authentication-svc
- authorization-svc
- identity-svc
- platform-configuration-svc
- apps services : docker-compose-apps
- account-lookup-svc
- accounts_and_balances_builtin-ledger-grpc-svc
- accounts_and_balances_coa-grpc-svc
- participants-svc
- quoting-svc
- scheduling-command-handler-svc
- settlements-command-handler-svc
- settlements-event-handler-svc
- transfers-command-handler
- transfers-event-handler
- ttk-1
- ttk-2
- ttk-ui-1
- ttk-ui-2
This will do the following:
docker pull
down any dependencies defined in eachdocker-compose.yml
file, and the services.- run all of the containers together
- ensure that all dependencies have started for each services.
Important: please make sure you follow the steps available through the admin-ui demonstrated in the sections here (you can ignore the Account-Lookup part). There is required data to already exist such as participants endpoints exists and its accounts have funds available, otherwise the integrations will fail.
npm run start:fspiop-api-svc
We use npm
scripts as a common entrypoint for running the tests. Tests include unit, functional, and integration.
# unit tests:
npm run test:unit
# check test coverage
npm run test:coverage
# integration tests
npm run test:integration
Here you can find a complete Postman collection, in a json file, ready to be imported to Postman.
error:25066067:DSO support routines:dlfcn_load:could not load the shared library
Fix: https://github.com/mojaloop/security-bc.git export OPENSSL_CONF=/dev/null