A modular, plugin-based application store for blockchain ecosystems. This platform allows users to discover, review, and boost blockchain applications while providing developers with a streamlined way to showcase their work.
- Modular Architecture: Core functionality with optional plugins
- Multi-Chain Support: Configure for any EVM-compatible blockchain
- Plugin System: Reviews, Boosting, and Proof of Engagement (POE) modules
- Wallet Integration: Connect with MetaMask and other Web3 wallets
- Docker Deployment: Easy setup with Docker Compose
- Docker and Docker Compose
- Node.js 16+ (for local development)
- Go 1.21+ (for local development)
-
Clone the repository:
git clone https://github.com/yourusername/chain-app-store.git cd chain-app-store -
Create your configuration file:
cp config.json.sample config.json
-
Edit
config.jsonto match your blockchain configuration:{ "chainName": "YourChain", "primaryToken": "TOKEN", "rpcUrl": "https://your-rpc-url", "explorerUrl": "https://your-explorer-url", "logos": { "light": "/logos/your-logo-light.svg", "dark": "/logos/your-logo-dark.svg" }, "enableModules": { "poe": true, "boosting": true, "reviews": true }, "adminWallets": [ "0xYourAdminWalletAddress" ], "listingFee": { "amount": "10", "token": "TOKEN" } } -
Start the application with Docker Compose:
docker-compose up --build
-
Access the application:
- Frontend: http://localhost:3000
- Backend API: http://localhost:8080
| Option | Description |
|---|---|
chainName |
Name of the blockchain network |
primaryToken |
Main token used for transactions |
rpcUrl |
RPC endpoint for blockchain interactions |
explorerUrl |
Block explorer URL |
logos.light |
Path to light mode logo |
logos.dark |
Path to dark mode logo |
boostingFeeSplit.platform |
Percentage of boost fees for platform |
boostingFeeSplit.deployer |
Percentage of boost fees for app deployer |
enableModules.poe |
Enable Proof of Engagement module |
enableModules.boosting |
Enable Boosting module |
enableModules.reviews |
Enable Reviews module |
adminWallets |
List of wallet addresses with admin privileges |
listingFee.amount |
Amount required to list an app |
listingFee.token |
Token used for listing fee |
The Chain App Hub uses a modular plugin architecture that allows for easy extension:
Allows users to:
- Submit reviews for applications
- Rate apps on a 5-star scale
- Moderate reviews (admin only)
Enables:
- Token-based boosting of applications
- Fee distribution between platform and developers
- Increased visibility for boosted apps
Tracks:
- User engagement with applications
- Leaderboard of most active users
- Contribution metrics for each app
cd backend
go mod tidy
go run main.gocd web
npm install
npm run dev- Create a new directory in
backend/plugins/your-plugin - Implement the plugin interface (see existing plugins for examples)
- Register your plugin in
backend/main.go - Add UI components in the frontend as needed
- Update configuration schema to include your plugin settings
GET /config- Get application configurationGET /apps- List all applicationsGET /apps/:id- Get application detailsPOST /apps- Submit a new application
GET /reviews/:appId- Get reviews for an appPOST /review- Submit a new review
GET /boosted- Get list of boosted appsPOST /boost- Boost an application
GET /leaderboard- Get user engagement leaderboardGET /contributions/:appId- Get contributions for an appPOST /engage- Log user engagement
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request