Organic Food is becoming increasingly popular these days, but how do we ensure that the ingredients used in it have been produced where the manufacturer says it has been produced, that they have been stored at ideal temperatures and that this data has not been tampered with.
OganicChain does exactly this.
OrganicChain connects producers, suppliers, sellers and consumers to automate the process of supply chain tracking. This increases consumer's trust in the system to ensure organic foods are always safe and of the best quality.
For producer, suppliers and sellers the process is the same as data entry into a system which is already begin undertaken in most establishments. On the producer's side, there is an additional step of printing and applying the QR code to the ingredient.
For the consumer, a QR code will be displayed on the food item which they simply have to scan using a QR code scanner (built into most phones these days) and OrganicChain will display all details of the producer, supplier and seller along with item weight, storage temperature and exact timestamp of dispatch and arrival at each location.
The consumer does not need to have any special app installed, they only have to scan the QR code and click on the link.
The consumer needs to ensure that the data is not tampered with at any point in the supply chain. The change log needs to reflect which part of the data was changed and store the previous version too. OrganicChain does this by using a blockchain network to store all data.
In summary, OrganicChain stores all versions of the data thereby ensuring that it cannot be tampered with.
Trying to deploy HyperLedger was the biggest challenge we ran into. We solved this by installing it on an Ubuntu 14.04 VM on GCP and using written guides in the Coursera course for Blockchain which helped us a lot.
Initially, our QR code generation and uploading to Storage Bucket took around 7 seconds to complete. We looked deep into the documentation of
nodejs-storage
to find options to decrease this time and made quite a few changes in our own code. Finally, the time was brought down to 700-800ms (0.7-0.8s).Technologies used
Discussion