Kickstarter is a platform where startups create a campaign to raise funds for their idea but many times it leads to fraud.
Crowdfund is an online portal where creators can create a campaign and contributors can fund the campaign. But the fund raised by this will not be given to the campaign creator instead it will be stored in the campaign smart contract. If the creator wants to withdraw money then they need to create a request. The request contains the amount to withdraw, the reason to withdraw, and the wallet address of the recipient. If the contributors found the request to be genuine then can approve the request and if the request gets majority of approvals then the creator can withdraw the money
While creating the campaign I faced an issue. the user need to create a campaign but for that they need to have access to the ABI but this result security concern , and if I create the campaign on behalf of them then I need to pay for gas.
So I deployed a new contract, through which user can create new campaign contract.
Discussion