The problem CryptoAID solves
CryptoAID is a portal for Charities and Donors aiming to build trust over a decentralised system. The main motto for building such a system is to create confidence among the donors. This is accomplished by verifying the charities using the concept of Proof of Stake. The system has 3 access levels.
- Charities
- Donors
- End Users
The Charity on registration is listed under Unverified Organisation. These Organisations are needed to be upvoted by at least 51% of the verified organisations to be assigned the role of a Verified Organisation. The Registered Organisation can also check its status. Once an Organisation is verified by more than 51% they need to stake 0.01Eth (for eg, would be increased) to be finally termed as Verified. After Staking the amount these Organisations can be viewed under the Verified Organisation Section by the donors.
By incorporating blockchain into recording charitable donations, donors will be able to track exactly where their donations go and when they are put into use. Blockchain will provide greater transparency behind nonprofit organizations and give both donors and operators greater accountability when it comes to how donations are spent. By utilizing blockchain technology in tracking, storing, and authenticating donations, donors are able to verify their donations themselves and keep tabs on exactly how their money is used.
Blockchain furthers the trust that donors have in charities by enabling greater visibility of charitable transactions. If an Organisation is found suspicious then the donors can report them. This further causes an organisation to be listed under the Reported Organisations section. The validation of the report is further done by the verified organisation. If an organisation receives more than 51% upvotes for the validation of a report they are termed as fraud and their staked amount is taken off. For verifying each Organisation the verified organisations receive some amount from their stake.
Challenges we ran into
Each hurdle to this project was meant for improving our skills.
Blockchain - Related :
- CryptoAID deals with 3 access levels so managing them was a huge task for us. The details of the organisations are being saved into smart contracts so writing an optimal code was the first and major challenge for us.
- Creating a subgraph over TheGraph and querying the transactions of each organisation was a very tedious task
- We discovered various drawbacks of solidity which arise due to storage-memory issues while returning the array of objects. (for example - creating an array for structs with nested mapping)
Web3 Integration Issues:
- Web3 Integrations are usually complicated and rendering them over the front end was quite rigorous.
- The Bignumber conversion and rendering on the front end was another issue we dealt with.