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)





