Skip to content

nghdavid/Decentralized-Fundraising-Platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Decentralized Fundraising Platform

Decentralized Fundraising Platform is an innovative solution that democratizes capital raising for companies while providing enhanced security for investors via vesting wallets and decentralized governance.

Website URL (Ongoing)
Backend Repo (Ongoing)

Main Features

  • Easy project creation: Companies can effortlessly launch fundraising campaigns on the platform.
  • Investor protection: A linear treasury release model mitigates the risk of rug pulls, ensuring gradual and transparent fund distribution.
  • Decentralized governance: Each project is associated with its own DAO, empowering investors with voting rights.
  • Flexible fund management: Investors can withdraw their funds through a decentralized process, subject to DAO voting mechanisms.

Smart contract Technique

Backend Technique

  • Ethers.js

Contracts Architecture

contract_arch

Contract Factory

  • Users can create customized DAOs and treasuries using GovernanceFactory and TreasuryFactory.
  • Users can calculate the address of the created contracts (Dao, Treasury) based on the project name,company name, vote token address, and timelock address.
  • Treasury and Dao information is stored in TreasuryFactory.

Dao

  • Investors can vote on proposals and then retrieve left funds from the treasury if the company's performance doesn't meet their expectations.

Treasury

  • The treasury can release funds to the company with a linear release schedule.
  • The treasury can mint vote tokens (For Dao) to investors who deposit fundtoken (Ex: USDT) to the treasury.

Timelock

  • The timelock can delay the execution of transactions for a certain period of time.

How to start my project

  • Claim ETH from Alchemy.
  • Fill in .env (private key, sepolia rpc url, etherscan api key).
  • Install foundry.
  • Run: forge install OpenZeppelin/openzeppelin-contracts
  • Run: source .env
  • Run: forge test --match-path test/Treasury.t.sol -vvv (Simulate whole process)
  • Run: forge script script/Treasury.s.sol:TreasuryScript --rpc-url $SEPOLIA_RPC_URL --broadcast --verify -vvvv (Deploy contract)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published