A decentralized crowdfunding platform powered by Thirdweb, Hardhat, and Ethereum, enabling secure and transparent campaign creation and contribution management.
This decentralized application (DApp) leverages blockchain technology to create a trustless crowdfunding platform where campaign creators can raise funds and contributors can participate with complete transparency and security.
-
Campaign Management
- Create campaigns with customizable funding goals
- Set campaign duration and end dates
- Detailed campaign information storage
- Campaign image upload support
-
Financial Operations
- Secure multi-user contribution system
- Direct fund ownership for campaign creators
- Transparent transaction recording
- Blockchain-based fund management
-
Security & Transparency
- Immutable transaction records
- Smart contract-based security
- Decentralized fund management
- Full transaction history
- Node.js v16 or later
- Hardhat development framework
- Metamask or compatible Ethereum wallet
- Thirdweb CLI tools
-
Clone the repository: bash git clone (https://github.com/ahamed-ali-git/Crowdfunding_with_Solidity.git) cd project_crowdfunding/web3
-
Install dependencies: bash npm install
-
Create a
.env
file in the web3 directory with the following variables:THIRDWEB_SECRET_KEY=your-secret-key ALCHEMY_API_URL=https://eth-mainnet.alchemyapi.io/v2/your-alchemy-key PRIVATE_KEY=your-wallet-private-key
-
Configure each environment variable:
THIRDWEB_SECRET_KEY
: Your Thirdweb API authentication keyALCHEMY_API_URL
: Alchemy API endpoint for Ethereum network accessPRIVATE_KEY
: Ethereum wallet private key for contract deployment
-
Deploy smart contracts: bash npx thirdweb@latest deploy -k $THIRDWEB_SECRET_KEY
-
Launch the application: bash npm run dev
- Access the campaign creation interface
- Specify campaign parameters:
- Funding goal amount
- Campaign end date
- Detailed description
- Campaign imagery
- Submit for blockchain deployment
- Browse available campaigns
- Connect your Ethereum wallet
- Select contribution amount
- Confirm transaction through wallet
- Frontend Framework: React.js
- Backend Runtime: Node.js
- Blockchain Development: Hardhat, Thirdweb
- Smart Contract Language: Solidity
- Decentralized Storage: IPFS (via Thirdweb)
-
Secret Key Configuration
- Error: "Please include the -k flag with your secret key"
- Solution: Verify .env configuration or provide key directly
-
Transaction Delays
- Error: "Transaction is taking too long"
- Solutions:
- Check network connectivity
- Verify wallet configuration
- Confirm network selection
We welcome contributions to improve the platform:
- Fork the repository
- Create a feature branch
- Implement improvements
- Submit a pull request
Please follow our coding standards and include appropriate tests.
This project is licensed under the MIT License. See the [LICENSE] file for complete details.