A decentralized platform for posting and managing Github issues on the blockchain using React frontend and Stacks blockchain technology.
What Works Now:
- ✅ Post Issues/Bounties - Create and submit new bounties directly to the blockchain
- ✅ View Issues/Bounties - Browse and read all posted bounties from the blockchain
- ✅ Wallet Connection - Connect your Leather/Hiro wallet to interact with the platform
- ✅ Submission Management - View and manage submissions for bounties
- ✅ Bounty Resolution - Approve or reject submissions
This project allows users to create and manage issues/bounties directly on the blockchain. Currently, the platform supports:
✅ Implemented Features:
- Post new bounties/issues on the blockchain
- Connect wallet (Leather/Hiro Wallet)
- Store bounty metadata off-chain (Firebase)
- View bounties (comprehensive listing)
- Submission management system
- Bounty resolution and approval workflow
🔮 Future Enhancements:
- Advanced bounty filtering and search
- User reputation and scoring system
- Multi-signature approvals for large bounties
- Mobile application development
- Analytics and reporting dashboard
- React - Modern UI framework
- Vite - Fast build tool and development server
- Redux Toolkit - State management
- Tailwind CSS - Utility-first CSS framework
- Shadcn/ui - Component library
- React Router - Client-side routing
- Stacks - Bitcoin layer-2 blockchain
- Clarity - Smart contract language
- Stacks Connect - Wallet integration
- Clarinet - Smart contract development toolkit
- Firebase - Off-chain metadata storage
- Stacks Testnet - Blockchain network for development
learn/
├── client/ # React frontend application
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Page components
│ │ ├── storage/ # Redux store and slices
│ │ └── db/ # Firebase functions
│ └── package.json
├── open-fix/ # Clarinet blockchain project
│ ├── contracts/ # Smart contracts
│ │ └── bounty.clar # Main bounty contract
│ ├── tests/ # Contract tests
│ └── Clarinet.toml # Clarinet configuration
└── README.md
The bounty.clar contract includes:
- create-bounty: Post new bounties with reward amount and metadata reference
- get-bounty: Retrieve bounty details by ID
- get-bounty-counter: Get total number of bounties created
;; Create a new bounty
(define-public (create-bounty (reward uint) (offchain-ref (string-ascii 100))))
;; Get bounty by ID
(define-read-only (get-bounty (id uint)))
;; Get total bounty count
(define-read-only (get-bounty-counter))- Node.js (v18 or higher)
- npm or yarn
- Clarinet (for blockchain development)
- Leather Wallet or Hiro Wallet browser extension
-
Clone the repository
git clone https://github.com/sunil8521/open-close.git cd open-close/learn -
Install frontend dependencies
cd client npm install -
Install Clarinet (for blockchain development)
# On macOS brew install clarinet # On Linux/Windows (using cargo) cargo install clarinet-cli
-
Start the React development server
cd client npm run dev -
Access the application
- Open your browser and navigate to
http://localhost:5173 - Connect your Leather/Hiro wallet when prompted
- Open your browser and navigate to
-
Navigate to the blockchain project
cd open-fix -
Start Clarinet console (optional)
clarinet console
-
Run contract tests
clarinet test -
Deploy to testnet (when ready)
clarinet deploy --testnet
-
Wallet Setup
- Install Leather Wallet or Hiro Wallet browser extension
- Create a new wallet or import existing one
- Switch to Stacks Testnet for development
-
Get Testnet STX
- Visit Stacks Testnet Faucet
- Request testnet STX tokens for testing
-
Connect Your Wallet
- Click "Connect Wallet" in the navigation
- Approve the connection in your wallet
-
Create a New Bounty
- Navigate to "Post Bounty" page
- Fill in the bounty details:
- Title and description
- GitHub repository URL
- Reward amount (in STX)
- Priority level
- Submission deadline
- Click "Post Bounty"
- Confirm the transaction in your wallet
-
Transaction Confirmation
- Wait for blockchain confirmation
- Your bounty will be stored on-chain with metadata reference
- Navigate to "Bounties" page to see all posted bounties
- Each bounty shows detailed information and blockchain transaction details
- Access submission management for your bounties
- Review, approve, or reject submissions with detailed feedback
- Contract Address:
ST24PT28CZ0M6PKFWRNMTHVQSF8ZKCFQ6EEBGM2AP - Contract Name:
bounty - Network: Stacks Testnet
cd client
npm run testcd open-fix
clarinet test- Advanced search and filtering with multiple criteria
- User profile system with reputation scoring
- Analytics dashboard for bounty performance
- Mobile application for iOS and Android
- Integration with additional version control systems
- Multi-signature wallet support for large bounties
- Automated testing and CI/CD pipeline improvements
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue with detailed description
- Join our community discussions
- Stacks Foundation for blockchain infrastructure
- Hiro Systems for development tools
- React and Vite communities for frontend tools
- All contributors and testers
Note: This project is currently in development phase. The bounty posting functionality is fully implemented, while other features like issue resolution and advanced management are still under development.