The problem in the current crowdfunding process is verifying if the funds are actually being used for the purpose mentioned. To solve this, we have introduced a decentralized method for crowdfunding. We have tried to implement a cross-chain way for users to donate using the Router protocol.
The organization's representative sets a few goals like why they need the money, the deadline for the fund-raiser, minimum contribution required to be part of crowdfunding. Here, the crowd (users) instead of donating directly to the hands of the manager the fund is given to a smart contract created by the company. Now, to pull the funds from the smart contract the voting should happen and if 50% (or any set amount) of the crowd agrees then only the funds can be withdrawn else it won't be. If in case the target(money required) is not met by the deadline the crowd can withdraw their money from the smart contract.
We had issues while deploying our contract to the mainnet. As there were multiple contracts in our project. Also, we wanted to make the platform cross-network using router protocol i.e. the user can fund the campaign from any network regardless of the network in which the contract was deployed. But we couldn't implement the router protocol due to a lack of understanding of the documentation of the protocol.
Discussion