- Project Overview
- Features
- Technologies Used
- Getting Started
- Deployment
- Usage
- Smart Contract Overview
- Testing on Remix IDE
- Roadmap
- Contributing
- License
- Acknowledgements
Open Charity is a decentralized application (dApp) that brings transparency and trust to charitable donations by leveraging blockchain technology on the AIAchain network. Users can donate to verified charities using cryptocurrency, with real-time tracking and transparent transaction records. Built with Next.js and deployed on AIAchain, Open Charity aims to empower users to make a positive impact while ensuring full accountability.
- Decentralized Donations: Donate directly to charities without intermediaries, ensuring the entire amount reaches the cause.
- Real-Time Transparency: Track donations instantly with dynamic updates and view all donation history.
- NFT and Crypto Donations: Supports both cryptocurrency and NFT-based donations (in development).
- Secure and Verified Charities: Only verified charities can register, ensuring legitimacy.
- Low Fees and Fast Transactions: AIAchain enables cost-efficient and quick transactions, ideal for real-time donations.
- Frontend: Next.js (React framework) for a dynamic and interactive UI.
- Smart Contract: Solidity smart contracts for secure, on-chain charity verification and donations.
- Blockchain: AIAchain for high-speed, low-cost transactions with EVM compatibility.
- Wallet Integration: MetaMask or any EVM-compatible wallet for secure user connections and transactions.
Ensure you have the following installed:
- Node.js and npm: Download here
- MetaMask or any EVM-compatible wallet: Download here
Clone the repository and install dependencies:
git clone https://github.com/JainamOswal18/open-charity.git
cd open-charity
npm install
To start the development server:
npm run dev
Open http://localhost:3000 to view the application in the browser.
To deploy the project, we recommend using Vercel, as Next.js works seamlessly with it:
- Push your code to a GitHub repository.
- Import the repository into Vercel and configure the necessary environment variables.
- Deploy the application with a single click.
For detailed steps, refer to Next.js Deployment Documentation.
- Ensure you’re on the AIAchain network in MetaMask or any other EVM-compatible wallet.
- Click Connect Wallet on the homepage to initiate connection.
- Explore the list of charities and their active campaigns.
- Select a charity, enter the donation amount, and (optionally) a message.
- Confirm the transaction in MetaMask, and view the live transaction status in the app.
- Access the dashboard to view a record of past donations, including transaction details, timestamps, and donation amounts.
The core functionality is handled by the CharityDonation
smart contract, which is deployed on the AIAchain network. The contract provides:
registerCharity
: Allows only the contract owner to register verified charities.donate
: Enables users to donate funds directly to a charity.getTotalDonations
: Fetches the total donations for a specific charity.checkRegisteredCharity
: Verifies if an address is registered as a charity.
The contract ensures that funds are stored securely, and only authorized withdrawals can be processed.
For smart contract testing and deployment:
- Copy the smart contract code to Remix IDE.
- Compile the contract using the correct Solidity version (e.g.,
0.8.x
) and evm version as london (inside advanced config). - Deploy on the AIAchain network by connecting Remix to MetaMask.
- After deployment, note the contract address and update your frontend with this address.
- NFT Donations: Expand the donation model to include NFT-based donations.
- Dynamic Charity Registration: Implement a system for community-backed verification of new charities.
- Cross-Chain Compatibility: Integrate with other EVM-compatible chains for greater reach.
We welcome contributions! Please fork the repository, create a feature branch, and submit a pull request with your changes.
- Fork the repository
- Clone the repository (
git clone https://github.com/JainamOswal18/open-charity.git
) - Test and develop some new features/fix bugs.
- Commit your changes (
git commit -m "Add new feature"
) - Open a pull request
This project is licensed under the MIT License.
- AIAchain: For providing the blockchain infrastructure.
- Next.js Documentation: For extensive guidance on building apps with Next.js.
- Remix IDE: For smart contract deployment and testing.