CrowdFunding Smart Contract Overview
This repository contains the source code for a decentralized crowdfunding platform implemented as a smart contract using the Soroban SDK. The contract allows users to create campaigns, contribute funds, and manage the funds according to the campaign's success or failure. Mission
Our mission is to democratize funding by providing a transparent, decentralized platform that connects creators with contributors. We aim to empower innovators by helping them reach their funding goals and bring their ideas to life. How to Follow
Stay updated with our latest developments and updates:
Website: Visit our official website at www.ourcrowdfundingproject.com for detailed information, blogs, and news.
GitHub: Follow our GitHub repository at CrowdFunding Repository to access the latest code, contribute, and report issues.
Twitter: Follow us on Twitter @ourcrowdfunding for real-time updates, announcements, and community engagement.
Newsletter: Subscribe to our newsletter on our website to receive regular updates, insights, and exclusive content straight to your inbox.
Slack Community: Join our Slack community for discussions, support, and networking with other users and developers. Invite link available on our website.
About the Project Features
Campaign Creation: Users can create campaigns with a funding goal and deadline.
Contributions: Contributors can fund campaigns, and their contributions are tracked.
Fund Withdrawal: Campaign creators can withdraw funds if the campaign is successful after the deadline.
Auto Refund: If the campaign fails to meet its goal by the deadline, contributions are automatically refunded to contributors.
Contract Methods
increment(env: Env) -> u64: Increments a counter stored in the contract's storage.
create_campaign(env: Env, creator: Address, contributors: Vec<Address>, contributed_amount: Vec<u64>, goal: u64, deadline: u64) -> u64: Creates a new campaign.
contribute(env: Env, from: Address, amount: u64, campaign_id: u64): Allows a user to contribute to a campaign.
withdraw(env: Env, user: Address, campaign_id: u64): Allows the campaign creator to withdraw funds if the campaign is successful.
auto_refund(env: Env, campaign_id: u64): Automatically refunds contributions if the campaign fails.
Installation
To install and set up the project, follow these steps:
Clone the Repository:
bash
git clone
Navigate to the Project Directory:
Install Dependencies:
Run the Project:
For detailed installation instructions and troubleshooting, please refer to our Installation Guide. Contributing
We welcome contributions from the community! To contribute:
Fork the repository.
Create a new branch (git checkout -b feature-branch).
Make your changes.
Commit your changes (git commit -am 'Add new feature').
Push to the branch (git push origin feature-branch).
Open a Pull Request.
For detailed contribution guidelines, please refer to our Contribution Guide. License
This project is licensed under the MIT License. See the LICENSE file for more details.