OTA Firmware updates for commercial IoT devices over Ethereum blockchain platform and Inter Planetary File-System.
With steady growth in the number of commercial IoT devices being sold worldwide, they are easily made targets for attacks intended to break into the private information of its users. With more data such as personal preferences, incoming/outgoing data log and direct control of appliances, safety and security of these devices are of paramount importance.
Presenting BlockOTA, an Ethereum based smart dapp which manages the OTA firmware updates of an IoT device. The smart contract stores hash values along with IPFS integration to save firmwares into decentralized storage solutions.
Design Pattern Choices - Link
Avoiding Common Attacks - Link
Deployed Address - 0x604b0de21f2e2f8628dc4f55e87f329094cdfcdf (ropsten)
ETHPM Implementation - May not be possible for given implementation
-
Clone repo to machine using
git clone https://github.com/paltrickontpb/BlockOTA
-
Install global modules which are required
npm i nodemon -g
npm i ganache-cli -g
npm i truffle -g
- Install all required modules
npm i .
-
Run Ganache instance on a terminal
ganache-cli
-
Compile, migrate and test the contract (in given sequence)
truffle compile
truffle migrate
truffle test
- Serve the front-end
npm run-script run
You will be greeted by the project page hosted on localhost:3000/