REST API facade template for microservices that interacts with the MultiversX blockchain.
- Run
npm install
in the project directory - Optionally make edits to
config.yaml
or createconfig.custom.yaml
- Redis Server is required to be installed docs.
- MySQL Server is required to be installed docs.
- MongoDB Server is required to be installed docs.
You can run docker-compose up
in a separate terminal to use a local Docker container for all these dependencies.
After running the sample, you can stop the Docker container with docker-compose down
These features can be enabled/disabled in config file
Endpoints that can be used by anyone (public endpoints).
Endpoints that are not exposed on the internet For example: We do not want to expose our metrics and cache interactions to anyone (/metrics /cache)
This is used to keep the application cache in sync with new updates.
This is used for scanning the transactions from MultiversX Blockchain.
This is used for concurrently processing heavy jobs.
This is a MultiversX project built on Nest.js framework.
Runs the app in the production mode. Make requests to http://localhost:3001.
Redis Server is required to be installed.
# development watch mode on devnet
$ npm run start:devnet:watch
# development debug mode on devnet
$ npm run start:devnet:debug
# development mode on devnet
$ npm run start:devnet
# production mode
$ npm run start:mainnet
Requests can be made to http://localhost:3001. The app will reload when you'll make edits (if opened in watch mode). You will also see any lint errors in the console.
# unit tests
$ npm run test
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:cov