Block-Badge Demo App - ETHWaterloo, October 2017
This is a credentials verification platform example created for the ETHWaterloo hackathon. College is one option. Today, students have access to Udemy, trade schools, YouTube, Quora, Stack Overflow, Google, and more. These award course certificates that can easily be securely stored on a blockchain, and shared as wanted. This app adds a secure, decentralized option on top of Open Badges standard.
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