Baby step into blockchain

Blockchain, distributed computing, dApps had heard these terms quite a few times. Sometimes even temped to get my hands dirty but call it my laziness or the steep learning curve(or I thought so), I never did. That is until three weeks ago.

So the inter-hall software design competiton- Opensoft asked us to design a blockchain based, location based app to upload pictures. I had worked in the Opensoft team last year as well but call it fate or whatever, I felt I was responsible for not having a podium finish. And had decided at the same time that next year I’m gonna do my best.

So the two week hackathon starts. We start off with Ethereum but soon to realise it would be exorbitantly expensive to store photos on Ethereum. The solution came out in the form of IPFS. And boy was it easy. And with that we figured out our EVM part of the program. Now the frontend. it was mostly, if not all a one man job. The frontend was decided to be a react based web-app. While it was taking shape, there came additional functionalities, like user accounts, deletion, some kind of appreciation system and whatnot.

While these were taking shape, another major hurdle was to make our app reachable to more and more users. How to do so with the requirement of an ethereum as well as an IPFS node. We took inspiration from the current dApp trend, “remote nodes”. It’s basically using a node running on a remote machine being used by multiple users. But the thing holding us back was that we required each user to have a unique ethereum address for unique identification. We looked up to Metamask for that. Found out that it uses remote node too and something which could potentially solve our problem,- eth-lightwallet. It basically makes an ethereum wallet in the browser and encrypts with a password. Voila! We had our savior. Although it took us quite some time to get it working but it solved all our problems. Now our app was platform independent. Hurray!

Wait, what! We had only a day left to add in some more features. Although trivial but quite challenging with fresh knowledge of nodejs. But still we were determined and finally got everything done in time. And there we had, in all it’s shining glory the final app. Fast forward to judgement day, we bagged silver and that was personally to me, a relief more than a sense of achievement. We’ll opensource the app soon and I’ll put the link here.