H

HashImage

A decentralized, censorship-resistant and image-sharing platform where users can earn in celo cryptocurrency by posting images in the form of art, photographs or even memes.

H

HashImage

A decentralized, censorship-resistant and image-sharing platform where users can earn in celo cryptocurrency by posting images in the form of art, photographs or even memes.

The problem HashImage solves

Centralized image-sharing platform creators have full control over what content is shown to the user. These platforms have algorithms that effectively censor users by hiding certain content and sharing specific content to the users according to what the creator thinks is best and lacks transparency.

Apart from this, various content creators often post their content in the form of art, photographs or memes which do get applauded in the form of likes, comments and reach but there is no real-time transparent method to earn through the content uploaded by them.

Therefore, the idea was to create a Decentralized Image-Sharing application where content creators or users can earn in celo cryptocurrency by posting images in the form of art, photographs or even memes.

All the images uploaded would be stored on a decentralized file storage system called IPFS so the images would be fully censorship-resistant and there would be only one transparent algorithm that would be defined in the smart contract and would be immutable.

After the image is posted, users can pay the content creators if they like the content using their celo wallet in celo.

Challenges I ran into

Initially, I wanted to build a mobile application instead of a web-based application but I kept on getting bugs due to the dependency errors in the boilerplate that I was using. Furthermore, since it was my first time working with react-native as well as IPFS, I was having trouble configuring the IPFS client network. So I decided to go with a web application using the celo contract kit and the celo extension wallet.
Apart from this, since it was my first time working with smart contracts so I had trouble with deploying them to the required network but it worked fine after I configured the truffle config file to deploy the smart contracts to the test network.

Discussion