With decentrilised, tamper-proof and failure-resistant features, blockchain is an idea platform to store the data sent from IoT devices which is also distributed in the different locations. IoT devices to send data to blockchain these these shared data can be shared among all IoT devices and other interested parties. And with full replication feature of blockchain, all the partners can access and submit data without the need a centralised controller.
There are few challenges to apply IoT with blockchain to the tradational enterprise system.
- Storage Size, Performance and Throughput
In a blockchain system, each node holds a full copy of data. Data sychlisation will become slow and ineffective.
- Data Privacy
In the blockchain system, each party can access all the data without any restriction. But in the tradational enterprise system, the data is in a well-controled mode which fine-grained role-based model. How can we implement the access control on blockchain? We need to find a solution or workaround for this issue.
- Artificial Intelligence
How can we find the unusual data which is sent back by IoT devices to the blockchain? Unlike the trdational database, the data has been formilised in the database so we can pick the popular data analysis tools and apply the existing statistical models. The blockchain data structure is diffcult to model in the existing methodologies and tools.
In this project, we will build an enterprise IoT system and use the blockchain as the data storege. We will provide a reference design patterns and architectural patterns to address the open issues of blockchain.
- Language: HTML5 and JavaScript
- Framework: React, React-Native, NodeJS, Serverless
- UI Library: Nativebase, Styled Component
- Architecture: Redux
- Navigation: React-Navigation, react-router
- Unit Testing: API testing with Mocha, BDD with Cucumber/Calabash, Mobile testing with selenium
- CI/CD and DevOps: Linux, Amazon AWS, Docker/container orchestration
TODO: Describe the installation process
TODO: Write usage instructions
- Fork it!
- Create your feature branch:
git checkout -b my-new-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request :D
TODO: Write history
TODO: Write credits
TODO: Write license