The public and private sectors are both in control of a wide range of security-related issues, and Blockchain is a promising technology that is gaining popularity for doing so. Charitable organizations are growing more and more interested in Blockchain technology. Due to the lack of transparency in the transactions involving donations, which hinders donors from understanding whether their contributions are being used properly, people have lost faith in charity. A decentralized Blockchain-based donation tracking system is proposed in the article, which will provide total transparency, accountability, and direct access to the intended receivers. It will be used in Ethereum Blockchain implementation.
Introduction
I. INTRODUCTION
The current processes in the charity and donation industries lack transparency. People have lost faith in this social cause when it comes to donations made to various organizations because of poor record-keeping procedures and the presence of some dishonest people within the organization. The donor has no idea how well their money is being put to use. Another factor that causes the donor to lose faith in charities is corruption. The suggested system assists social organizations in managing various projects for social causes transparently without the interaction of third parties while also being open to everyone by using smart contract-based incentives, which help to confirm their impact is verified without the interaction of third parties.
As a result, donors, organizations, and other involved suppliers may simply watch their transactions, restoring their trust and loyalty in these social groupings. The method promotes trust with donors, beneficiaries, and other stakeholders involved in the giving process while ensuring that the donation reaches the intended recipient and reducing overall administration costs, time, and efficiency.
A single organization or central authority often controls a database and has the authority to change data and disrupt databases. Usually, the company that built the database and will use it is also the one that keeps it up to date.
II. LITRATURE SURVEY
Research Paper No-1: Aid, Charity And Donation Tracking System Using Blockchain.
Abstract: Blockchain technology can be used to create Decentralized apps for supply chain management, banking, currency exchange, and charity. It has advantages such as decentralization, persistence, anonymity, and auditability. A study proposes a Decentralized approach for trust management for authentication, removing any third parties.
2. Research Paper No-2: Platform for Tracking Donations of Charitable Foundations based on Blockchain Technology Abstract: The technology's open architecture provides data security, immutability, and transparency.
3. Research Paper No-3: Decentralized Application for Charity Organization Crowd funding using Smart Contract and Blockchain.
Abstract: Cybercrime and data breaches have started to target crucial data and transaction records in crowd funding. Technology called the 'blockchain' was used in this project to safeguard information from crowd funding transactions.
The application service layer encapsulates a variety of applications, including account registration, post charity information, donate funds, and inquire message, provides users with the functions of the platform directly. The smart contract layer includes various scripts and smart contracts. It encapsulates query methods, transactions process and other details. A smart contract is a sort of program that encodes business logic and operates on a dedicated virtual machine embedded in a Blockchain or other distributed ledger. A Smart Contract is a computer program that directly and automatically controls the transfer of digital assets between the parties under certain conditions. A smart contract works in the same way as a traditional contract while also automatically enforcing the contract. Smart contracts are programs that execute exactly as they are set up by their creators. The charity platform's distributed accounting features, such as package blocks, obtain consensus on transactions, broadcast blocks, and synchronize data with local databases, are implemented via the Blockchain service layer. Setting up of Private Blockchain using Go-etherium (GETH).
One of the three key pieces of code that make up the Ethereum Blockchain’s command-line interface is called Geth. One of the programming languages used to create the Ethereum network is Go, which was created by Google. Go Ethereum is the interface used to write, modify, and alter the Go code for the Blockchain. In addition to Go, Python and C++ are also used extensively in the Ethereum Blockchain and protocol. Install Go-etherium from the official GETH site. Creating a new Genesis block is the initial step in the creation of a private Blockchain. The first block in a Blockchain, or the "genesis block," establishes the Blockchain’s original state. The "puppeth" tool included with go-ethereum is used to generate a new Genesis block. Initialize the Blockchain after creating the new genesis with the help of commands. Once the Blockchain is initialized, we can start it by running some commands. While the Blockchain is running we can create new accounts with the help of personal.newAccount() command and also start mining using miner.start() command.
A. Smart Contract and Its language
In a smart contract, the conditions of the agreement between the buyer and seller are directly encoded into lines of code, making it a self- executing contract. The agreements and the underlying code are distributed via a Blockchain network. Smart contracts enable the execution of automated, trustless transactions without the requirement for middlemen. Smart contracts may be written in a variety of computer languages, but Solidity is the most popular one. The contract-oriented programming language Solidity was created with the Ethereum Blockchain in mind. In terms of grammar and structure, Solidity is comparable to JavaScript, making it reasonably simple for developers to learn. Inheritance, libraries, and user-defined types are supported by Solidity. Additionally, it supports control structures like loops, switch statements, and if-then expressions. Additionally, Solidity comes with built-in security measures including contract- level permissions and automatic tests to guard against flaws like integer overflows and underflows.
B. Deployment of Smart Contract in Private Blockchain using Web3.
To begin, you must use the Solidity programming language to develop a smart contract. You may develop and test your Solidity code using a program like Remix IDE. After writing your smart contract code, you must use a Solidity compiler to build it. There is a Solidity compiler included into the Remix IDE, or you may use another Solidity compiler like solc. You must use web3.js to establish a connection to your private Blockchain before you can deploy your smart contract. Setting up a web3 instance and setting your Blockchain node's endpoint are required for this. Using the web3.js library, you may deploy your smart contract once you are linked to your private Blockchain.
C. Setting up Wallet Using Meta Mask Custom Rpc.
Click the network option dropdown at the top of the window after opening your Meta Mask wallet. Choose "Custom RPC" from the selection at the bottom. Enter the URL for your private Blockchain node in the "New RPC URL" section. If you're operating a node locally, this may be something like http://localhost:8545 or the URL of a distant node. Give your own network a name and include any other information that you like, such a network emblem or a money sign. To add your unique network to Meta Mask, click "Save".
You may establish a new account in Meta Mask that is associated with your own block chain node once you have installed your custom network.
Choose your own network from the network option dropdown when you click on the Meta Mask icon in your browser. Choose "Create Account" by clicking on the account symbol in the top-right corner. To establish a new account, adhere to the instructions. You will be prompted to select a password and download a copy of your account information. You may now communicate with your private Blockchain network using your new account, which should now be accessible in Meta Mask.
D. Integrating Backend and Frontend using Web3.js
Installing web3.js first in your project is necessary. The web3.js library may be installed using a package management like npm or yarn. Create a web3 instance after that, then connect to your Blockchain node. This may be done in your backend code, and you can then use a technique like the REST API or web sockets to transfer the web3 instance to your frontend code. To build contract instances for your smart contracts in your backend code, utilize web3.js. For each contract you wish to communicate with, you must specify the contract's ABI and address. After creating a contract instance, you may call the contract's methods using web3.js. Gas and gas price options can be specified by passing arguments to the procedure. The information supplied by the contract function may then be sent to your frontend code, either directly from your backend API or by pushing it to a messaging queue that is being listened to by your frontend code. You may interact with the contract instances given from the backend in your frontend code using web3.js and present the information in your user interface.
IV. FUTURE SCOPE
The proposed system eliminates the need to rely on a reliable third party to handle charitable donations; it can be adopted by different financial institutions for any transaction involving two parties, and the government can create its own digital currency to handle all transactions. By eliminating corruption and providing complete transparency, the proposed system will ultimately increase public trust.
V. ACKNOWLEDGEMENTS
We have great pleasure in presenting report on Decentralized Application on Charity Using Blockchain. Completing a task is never a one-man effort. It is often a result of invaluable contribution of a number of individuals in direct or indirect manner. I would like to express deepest appreciation towards S.D. Lokhande, Principal Sinhgad College of Engineering. And Dr. M. P. Wankhade, HOD Computer Department, whose invaluable guidance supported me in completing this report.
I am profoundly grateful to Prof. K.S. PATIL for his expert guidance and continuous encouragement throughout to see that this project report rights its target since its commencement to its completion.
At last, I want to express my sincere heartfelt gratitude to all the staff members of Computer EngineeringDepartment who helped me directly or indirectly during this course of work.
Conclusion
In conclusion, while the charity sector has often been overlooked in the adoption of Blockchain technology, this study has demonstrated the potential benefits of implementing a Blockchain-based charity donation system. The proposed system provides a framework for improving the traceability and transparency of the donation process, which could help to build trust among donors and increase donations to nonprofit organizations. The successfulimplementation of several advantageous features, such as creating and tracking donations, suggests that this system has the potential to revolutionize the way donations are managed in the charity sector. Therefore, it is recommended that nonprofit organizations consider the adoption of Blockchain technology to improve their operations and achieve their philanthropic goals.
References
[1] Research on Charity System Based on Blockchain Baokun Hu and He Li 2020 IOP Conf. Ser.: Mater. Sci. Eng. 768 072020 1 Hangzhou Institute of ServiceEngineering, Hangzhou Normal University, Hangzhou, China
[2] Aashutosh Singh, Rohan Rajak, Harsh Mistry, Prachi Raut: Aid, Charity and Donation Tracking System Using Blockchain, Proceedings of the Fourth International Conference on Trends in Electronics and Informatics (ICOEI 2020) IEEE Xplore Part Number: CFP20J32-ART; ISBN: 978-1-7281-5518-0
[3] Hadi Saleh, Sergey Avdoshin, Azamat Dzhonov: Platform for Tracking Donations of Charitable Foundationsbased on Blockchain Technology, 2019 Actual Problems of Systems and Software Engineering (APSSE).
[4] Winson Lee Hong Yee, Nordiana Rahim: Decentralized Application for Charity Organization Crowdfunding using SmartContract and Blockchain, Applied Information Technology and Computer Science Vol. 2 No. 2 (2021)236-248