Introduction
This is going to be a series of posts regarding the development of the project I'm working on, currently unnamed. It will serve as a platform to perform decentralized updates to IoT devices.
There are quite a few pieces I've setup over the week, namely the frontend, backend and contracts as well.
Frontend
Decided to go with vitejs for scaffolding a React-Typescript project. Seems more intuitive than CRA so far, I will reserve my opinions for later.
Backend
Decided to go with fastify, it served me well in the iiot lab miniproject.
- Scaffolded from the boilerplate repo I had set up before.
- Integrated Pinata, to pin and unpin device updates on IPFS
- Setup the database with Prisma. The database won't really be holding device information of any sorts, just a link to the ipfs hash which contains device info and is encrypted by the manager's key.
- Looking into auth solutions. Will mostly go with
Auth0
. - Tests
Contracts
Decided to go with hardhat as the contract management toolbox. It works great with Typescript.
- Wrote the contract for performing the updates.
- Eventually will split the code up into different contracts, all accessing the same storage.
- This will facilitate upgradeability in the future.
- Not sure of the coverage, but tests have been written.
Conclusion
The project really needs more team members! Do get in touch with me if you're interested. Primary technologies/languages used will be - Typescript, Solidity, React.
Thanks for reading!