The Blockchain Campaign Project is a decentralized application (DApp) built on the blockchain that allows users to contribute funds to campaigns, view their transactions, and ensures immutability through proof of work. This README provides an overview of the project, its functionalities, and instructions for setting up and running the application.
Before setting up the Blockchain Campaign Project, ensure you have the following prerequisites:
- Node.js and npm (Node Package Manager) installed on your system.
- A modern web browser with Metamask extension installed.
- Basic understanding of blockchain and smart contracts.
To install the project and its dependencies, follow these steps:
- Clone this repository to your local machine:
git clone https://github.com/your-username/BlockchainCampaign.git
- Navigate to the project directory:
cd BlockchainCampaign
- Install the required npm packages:
npm install
- Run the development blockchain:
npm run ganache
- Compile the smart contracts:
npm run compile
- Deploy the smart contracts to the development blockchain:
npm run deploy
- Start the web application:
npm start
- Open your web browser and go to
http://localhost:3000
to access the Blockchain Campaign DApp.
The Blockchain Campaign DApp offers the following features:
-
Campaign Creation: Users can create new campaigns by providing campaign details and the funding goal.
-
Contribute to Campaign: Users can contribute funds to the campaigns they are interested in, using their connected Ethereum wallet (Metamask).
-
Transaction History: Users can view their transaction history, which includes details of the contributions made to various campaigns.
-
Proof of Work: The project uses a blockchain-based consensus mechanism (proof of work) to ensure immutability and security of the transactions.
The Blockchain Campaign Project is built using the following technologies:
- Solidity: Smart contract development language.
- Ethereum: The platform for deploying and executing smart contracts.
- Truffle: Development framework for Ethereum.
- Web3.js: JavaScript library for interacting with the Ethereum blockchain.
- React: JavaScript library for building the user interface.
- HTML/CSS: Front-end development technologies.
Contributions to the project are welcome and encouraged. If you find any issues or want to add new features, feel free to create a pull request. Please ensure you follow the best practices and the established coding guidelines.
If you are unsure about making a contribution, feel free to open an issue to discuss your proposed changes.
The Blockchain Campaign Project is open-source and available under the MIT License. Feel free to use, modify, and distribute the code as per the terms of the license.
By following the instructions in this README, you can set up and run the Blockchain Campaign Project on your local machine. Remember to deploy the smart contracts to the Ethereum mainnet or testnet for a production-ready deployment. Happy coding!