An on-demand Smart Locker service running on Polygon Smart Contract!
Presentation: https://docs.google.com/presentation/d/1Brh4lL9QRgalsiQgcq64xdfgJkUVVczdEg24MDiFEbM/edit#slide=id.p LOCK3R is an on-demand web3 locker service running on Polygon. Users can rent a locker and pay fees per second on Smart Contract Lockers can be unlocked after verifying if a user with digital signature and checking permission on Smart Contract. A prototype of the service has been deployed on the Polygon mainnet. In this service, there are 2 actors. OWNER and USER. An owner is someone who owns a smart locker and earns from fees by lending smart lockers. Lockers can be registered onto Smart Contract. Owners can set arbitrary fees per second to their lockers. To use this service, users need to deposit MATIC to Smart Contract first. Then, users can choose a locker and transfer deposited MATIC to the locker. After transferring deposits, users can unlock the locker until the due amount exceeds the deposited amount. Users can anytime return the locker access and the deposited amount will be returned after the due amount is deducted.
How it's made
I developed the frontend UI, backend API, and prototype hardware from scratch in this hackathon. For software, I used remix, ethers, Google Cloud Run, and Firestore For hardware, I used Raspberry Pi, Solenoid lock, and relay module How unlocking works in detail. Firstly, a user deposits MATIC and executes "startUsing" function on smart contract then the user sends an unlock request with a digital signature to the API server. API server verifies the signature and recover user's address. then check if the user has permission to unlock. Then, the API server sends unlock commands to smart locker devices.