Skip to content

Latest commit

 

History

History
117 lines (89 loc) · 3.47 KB

File metadata and controls

117 lines (89 loc) · 3.47 KB

Private Blockchain (private DLT) using MultiChain

Application for proposals using blockchain with MultiChain.

Check out our blog if you want to learn more:

Architecture overview

MultiChain PoC Architecture

Repo info

  • multichain-app - Angular 6 client application
  • multichain-cli - example test scenario and execute this by MultiChain CLI
  • multichain-cluster - blockchain infrastructure
  • multichain-server - Java & Spring Boot & MultiChain Java API

Architecture

Our solution consists of 5 services:

  • multichain-master - multichain seed node
  • multichain-slave - multichain 2nd node
  • multichain-explorer - multichain 3rd node with UI for browsing blockchain
  • multichain-server - application backend (SpringBoot)
  • multichain-app - application frontend (Angular6 served by nginx)

Use case

Your organization wants to implement an internal system for submitting different types of applications (for example: request for new equipment).
Each request must be approved by the manager.
Requests should be indisputable and immutable.

Example request and decision structure:

Request {userId, managerId, creationTime, requestContent}
Decision {managerId, Request, decisionResult, decisionTime}

JSON:

{
	"userId": "",
	"managerId": "",
	"creationTime": "",
	"requestContent": ""
}

{
	"managerId": "",
	"Request": {
            {
                "userId": "",
                "managerId": "",
                "creationTime": "",
                "requestContent": ""
            }
	},
	"decisionResult": "",
	"decisionTime": ""
}

Deployment & running

Each service is packaged as a separate container. To run whole system you can use docker + docker-compose.

Docker Compose

Prerequisites: local docker & docker-compose
To run application you simply execute command:

run.sh

Services are started with tty attached to current terminal.
To stop application just press:

Ctrl+C

Screens

Desktop main version

Mobile menu

Initial users

Request list

Decision list

DOCS

License

This project is released under the Apache 2.0 license (see LICENSE)