The first part of the project requires your team to write, compile, deploy a smart contract that
assumes the basic role of a charitable organization (eg Non Profit Organizaition (NGO)). A charitable
organization must be able to detect suspicious transactions and the suspects involved, as well as
1. There are sets of Actors (donatee, donor & charitable organization).
2. How this system works:
i. The needy people would upload their data on the portal connected to the Blockchain
ii. The community can access their data from the Blockchain and would be able to help
them directly and safely.
iii. Implementation of this system would help in providing help to needy people and will
ensure transparency in the transactions.
3. The charitable organization (ie NGO) will perform the following regulatory functions:
i. Set the Threshold value of fund transacted. Example of latest threshold value = 10 Ether.
ii. A valid account holder may transact (donate/receive) any amount of funds into/from the
iii. However, if the fund transacted is > the Threshold value set by the charitable
a. An alert (i.e., message) must be raised to report such a huge transaction.
b. The alert must include the address of the Account involved and the amount
b. At any time, after any successful transaction, if the balance of funds in the smart contract is more
than 50 Ether, the charitable organization must also be alerted via an appropriate message that
the smart contract may have been used as a place to launder cryptocurrency.
i. The charitable organization must be alerted of ALL the Account Holders which have
deposited funds into the smart contract (in real life, these are suspects for money
ii. The charitable organization must be alerted of ALL the Account Holders which have
withdrawn fund from the smart-contract (in real life these are also suspects for money
4. Using solidity, write the smart contract fulfilling all the requirements, compile and deploy it on
the localhost blockchain, using ganache.
5. Use whatever tools you find necessary to deliver this Part-1 of the Project.
6. Execute your program to show the following cases:
i. A good-day behaviour, ie no irregularities eg no transaction beyond the threshold, and no
suspicious money laundering
ii. Cases of possible money laundering