Financial statement manipulation
is a type of accounting fraud that remains an ongoing problem.
The manipulation of financial statements to commit fraud against investors or skirt regulation is a real and ongoing problem, costing billions of dollars annually.
Managers/Organisations may "cook the books" in order to qualify for certain advantages that rely on certain financial performance metrics being met or
Crowdfunding platforms raise funds for campaigns and may underreport them to users by diverting the funds.
Often people who contribute/donate to campaigns run on crowdfunding platforms are unaware of how the funds are being used: who are the exact people who have access to the funds, and where they are spending the money?
immunomic
is a DAO we created to solve the issue of lack of transparency and trust in crowdfunding platforms. Our solution connects the bank accounts of the campaigns being run to a chainlink node, which writes all the bank transactions on an immutable ledger (blockchain), that in turn emits the transaction so that web2 app detects and records the transaction to display it to users on Dashboard.
Github Repos :
-
Frontend: We used React JS, Tailwind CSS for UI and ethers library to fetch details from contract.
-
External Adapter: We used Nodejs server and Paypal-sdk for fetching payment details from paypal.
-
Blockchain :
- Smart Contract: We used Solidity for writing smart contracts.
- Development: Remix to write, compile in local system.
- Deployment: Hardhat to deploy to testnet and verify the contract.
- Chain: Polygon Mumbai to deploy smart contracts on testnet.
- RPC URL : We used Quick Node polygon RPC url to connect to the mumbai chain.
-
Chainlink:
- Oracle: We used Operator.sol for Oracle requests.
- Bridge: We used Bridge for connecting external adapter to the chainlink job.
- Job: Used to get data from external adapter and pass it to oracle.
-
Others: We used Paypal for transactions, AWS Lambda function as a webhook url for paypal.
- Clone the repo
FE: https://github.com/shivamangina/Chainlink-hackathon-fall-22-FE
BE: https://github.com/shivamangina/Chainlink-hackathon-fall-22-BE
- Install the dependencies.
npm i
- Create
.env
file in.chainlink
folder and use your values for**ETH_URL** & **DATABASE_URL**
. Run chainlink node using the command
npm run chainlink-node
#sample
username = shiva2nani.mangina@gmail.com
password = W6kBJRaoY.Voa_.@3pX*3mf
nodepassword = node_W6kBJRaoY.Voa_.@3pX*3mf
-
Open this link in browser http://localhost:6688 and login useing your creds which you gave earlier while starting the node.
-
Deploy the Oracle Contract and make the node address as authorised.
Link address(polygon mumbai) 0x326C977E6efc84E512bB9C30f76E30c160eD06FB
#Our Oracle is deployed here
0x681Eb7596991A0659b085b235940a88e1DBa9A9E
- Run the external adapter using command .
npm start
- Create a bridge with the adapter url.
Name: paypal-bridge
URL:http://host.docker.internal:8000
- Create a job using the bridge name we created earlier and the oracle contract address. You can use
./job-spec/job.toml
file for creating job. - Deploy Consumer Contract.
Our Deployed contract: 0x7abE2227ea7110AdB490aC3Db334b247Be1f489F
Note: You can use following commands to compile and deploy the project from local using hardhat. Or you can do it from Remix IDE.
npm run hardhat
npm run hardhat:compile
npm run hardhat:deploy
- Deploy AWS lambda function and connect with API Gateway and get the
URL
- Add
URL
as a webhook in PP/ or Any bank.
Youtube Link : https://www.youtube.com/watch?v=VYJG9n-2REE