Welcome to the Kickstarter Smart Contract project repository! This project aims to address the issue of Kickstarter scams by utilizing Blockchain smart contracts to ensure transparency and security in crowdfunding campaigns. The smart contract is built on the Ethereum platform, providing a decentralized and trustless environment for backers and campaign owners.
- Overview
- Features
- Getting Started
- Project Structure
- How It Works
- Campaign Detail Page
- Requests Page
- Contribute
- License
Kickstarter scams have been a concern in crowdfunding platforms where campaign owners receive funds and disappear. This project addresses this issue by implementing a smart contract on the Ethereum blockchain. The smart contract manages campaigns, tracks contributions, and handles requests through a transparent and decentralized process.
- Smart Contract Security: Utilizes Ethereum smart contracts to manage campaigns securely on the blockchain.
- Contribution System: Backers can contribute to campaigns in wei, ensuring a reliable and transparent funding process.
- Request Approval Mechanism: Campaign owners can create requests, and backers can approve or disapprove them. A request is finalized only if the approval count surpasses the disapproval count.
- Campaign Management: Users can create new campaigns with a specified minimum contribution in wei.
To get started with the Kickstarter Smart Contract project, follow these steps:
- Clone the repository:
git clone https://github.com/MrBuluc/Kickstarter.git - Install dependencies:
npm install - Run the React project:
npm run dev - Connect to a compatible Ethereum wallet such as MetaMask.
The project is structured as follows:
ethereum/: Contains the Ethereum smart contract code.pages/: React project files for the front-end.
The smart contract manages campaigns, contributions, and requests. Backers can contribute, and campaign owners can create requests. A request is finalized only if the approval count exceeds the disapproval count.
One of the key features of the Kickstarter Smart Contract project is the weighted approval and disapproval system, where contributor support values influence the decision-making process.
-
Contributions and Contributor Support Value:
- Backers contribute to the campaign with a specific amount in wei.
- Each contributor's support value is determined by the amount they contributed.
-
Request Creation:
- Campaign owners can create requests for specific actions, such as fund transfers or project-related tasks.
-
Approval and Disapproval:
- Contributors can approve or disapprove requests based on their interest in the campaign.
- The approval and disapproval counts are weighted by the contributor's support value.
-
Weighted Decision-Making:
- The smart contract calculates the overall approval and disapproval percentages, taking into account the contributor support values.
- Weighted percentages contribute to the decision-making process, making it fairer and more reflective of the backers' financial commitment.
-
Finalization:
- A request is only finalized if the weighted approval count surpasses the weighted disapproval count.
- This ensures that decisions are influenced not just by the number of contributors but by the financial support they have provided.
The weighted approval and disapproval system aim to prioritize contributors with higher financial support, aligning decision-making with the level of commitment from backers. This approach helps prevent manipulation of the voting process and ensures that decisions are made in the best interest of those who have contributed more significantly to the campaign.
By incorporating this weighted system, the Kickstarter Smart Contract project enhances transparency and fairness in the campaign approval process, making it more resistant to potential abuse or manipulation.
On the Campaign Detail Page, users can view essential information about a campaign, including manager address, minimum contribution, number of requests, number of approvers, and campaign balance in ether. Users can also contribute to the campaign and view the existing requests.
The Requests Page displays a table of campaign requests with details such as ID, description, amount in ether, recipient address, approval and disapproval percentages, vote rate, and buttons for approval, disapproval, and finalization.
Campaign owners can add new requests with descriptions, values in ether, and recipient addresses.
Contributions to this project are welcome! Feel free to open issues, submit pull requests, or provide feedback.
This project is licensed under the MIT License.


