This demo app uses STRATO blockchain platform and Smart Contracts to demonstrate a solution for a basic 2-party Supply Chain Workflow.
Node v7.2 or more recent.
This application requires a BlockApps Strato node. Follow the instruction in the Strato getting started guide to install a local instance.
Once you have a functional strato node, you can clone this project and deploy it to the strato instance using the instructions below.
Install the dependencies
npm i
Install the UI dependencies
cd ui
npm i
If you are deploying using STRATO on localhost
(Linux and Mac users only):
Run the following from the project root:
npm run deploy
If you are deploying using STRATO on the remote server:
Make sure there is a config file under ./server/config
with the naming convention <server-name>.config.yaml
. The contents of the file should be as follows:
apiDebug: true
password: '1234'
timeout: 600000
libPath: ./server/lib
contractsPath: ./contracts/
dataFilename: ./server/dapp/dapp.presets.yaml
deployFilename: ./server/config/<server-name>.deploy.yaml
# WARNING - extra strict syntax
# DO NOT change the nodes order
# node 0 is the default url for all single node api calls
nodes:
- id: 0
explorerUrl: 'http://<your-ip-or-dns>:9000'
stratoUrl: 'http://<your-ip-or-dns>/strato-api'
blocUrl: 'http://<your-ip-or-dns>/bloc/v2.1'
searchUrl: 'http://<your-ip-or-dns>/cirrus'
Replace with your actual server name in the above file and then run the following from the project root:
SERVER=<server-name> npm run deploy
On Windows:
set "SERVER=<server-name>" & npm run deploy-windows
from the project root (Linux, Mac and Windows):
npm run start
If you are deploying using STRATO on localhost
(Linux and Mac users only):
cd ui
npm run start
If you are deploying using STRATO on the remote server:
cd ui
API_URL="<api-server-url>" npm run start
On Windows:
cd ui
set "REACT_APP_API_URL=<api-server-url>" & set "PORT=3030" & npm run start-windows
where <api-server-url>
- broadcasted API URL in format http://url:port (e.g. http://example.com:3031)
npm run test
On Windows:
set "SERVER=<server-name>" & npm run test-windows
Open the app in the browser.
By default, application is running at http://localhost:3030/
The app comes pre loaded with four different users: Buyer1
, Buyer2
, Supplier1
, Supplier2
. All these users have the same password: 1234
.
Note: After the buyer accepts the bid, 20 dollars from the buyer's account is taken and held by the smart contract but is still not disbursed until the product is accepted