Application for proposals using blockchain with MultiChain.
Check out our blog if you want to learn more:
multichain-app
- Angular 6 client applicationmultichain-cli
- example test scenario and execute this by MultiChain CLImultichain-cluster
- blockchain infrastructuremultichain-server
- Java & Spring Boot & MultiChain Java API
Our solution consists of 5 services:
multichain-master
- multichain seed nodemultichain-slave
- multichain 2nd nodemultichain-explorer
- multichain 3rd node with UI for browsing blockchainmultichain-server
- application backend (Spring Boot + in-memory database)multichain-app
- application frontend (Angular 6 served by nginx)
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": ""
}
Remember that MultiChainJavaAPI
(using to connect with MultiChain
) is not available in Maven Central Repository so you must build this library locally based on installation instruction in README.
Each service is packaged as a separate container.
To run whole system you can use docker
+ 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
This project is released under the Apache 2.0 license (see LICENSE)