BIM Blockchain Manager
This app was developed by Avalone Consultants Limited for the Robert Gordon University (RGU) Scott Sutherland School of Architecture & Built Environment.
The full enviroment set-up is detailed separately. This README.md file simply describes how to get the app running once all the require software and components are installed.
Below is a non-exhaustive list of the software and components required:
- Rhino 5
- Grasshopper WIP for Rhino 5
- Thorton Tomassetti Plugin for Grasshopper (TT Toolbox)
- Millipede Plugin for Grasshopper
- LunchBox Plugin for Grasshopper
- Chocolatey package installer
- Visual Studio (VS) Code
- Node Version Manager
- Node.js and Node Package Manager
- Truffle Development Framework
- Python (windows-build-tools)
- Ganache Command Line Local Blockchain
- Metamask for Google Chrome Browser
- Interplanetary File System (IPFS)
- Drizzle including React components
To initilise the demo, follow these steps.
ganache-cli -m "squeeze enough elephant crisp laundry rate turkey smooth clap dinosaur proud destroy" -p 7545
In blockchain folder:
truffle migrate --reset
In the API folder:
npm run api
In the app folder:
npm run start
To demo the app, follow these steps.
- Register as Problem Owner
- Create a new problem as the problem owner
- Click 'Load'
- Upload file to IPFS
- Send hash to problem contract, refresh
- Open the problem contract
- Register as a problem optimiser
- Create a new solution to an open problem ID
- Load solution
- Click 'IPFS File Link'
- Enter a value, say ‘10’, and then ‘Send Value’
- Open Rhino, then Grasshopper, and open the Optimisation Problem
- Click on ‘Blockchain’
- Drag and drop the one icon onto the flowsheet.
- Take the solution contract address from the web UI and paste that into ‘CtrAddr’ by right clicking and setting text.
- Paste in the private key for the account (0x291930bc51cb713ff90d332dc20d5289844c6bf996a8a68122361fe7326eb3d3) into ‘pkey’ by right clicking and setting text.
- Choose a value to send to the solution contract (say 20) and enter this into ‘Val’ by by right clicking and setting number.
- As a Problem Owner, click ‘Load’ to load the problem if not already loaded.
- Paste in the solution address to ‘_winner’ and click ‘Solve’
- Click ‘Complete’.
- Click ‘Cancel’