multiversx / mx-api-service

Unified REST API facade for providing data related to the MultiversX blockchain
https://api.multiversx.com
GNU General Public License v3.0
30 stars 48 forks source link
api blockchain elrond rest

Unified REST API facade for providing data related to the Multiversx blockchain.

Quick start

  1. Run npm install in the project directory
  2. Optionally make edits to config.yaml or create config.custom.yaml
  3. Run npm run init in the project directory (to create default plugins structure)

Dependencies

  1. Redis Server is required to be installed docs.
  2. MySQL Server is required to be installed docs. This can be avoided by adding in the config file the following: database.enabled: false.
  3. MongoDB Server is required to be installed docs. This can be avoided by adding in the config file the following: database.enabled: false.
  4. ffmpeg is required to be installed docs.

You can use 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

Available Scripts

This is an Multiversx project built on Nest.js framework.

npm run start:prod

​ Runs the app in the production mode. Make requests to http://localhost:3001.

Running the app

# development watch mode
$ npm run start:watch

# development debug mode
$ npm run start:debug

# development mode
$ npm run start:dev

# production mode
$ npm run start:prod

Requests can be made to http://localhost:4001. The app will reload when you'll make edits (if opened in watch mode). You will also see any lint errors in the console.​

npm run test

# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov

It depends on the following external systems:

It uses on the following internal systems:

An API instance can be started with the following behavior:

It depends on the following optional external systems:

It uses the following optional internal systems: