KalyChain DAO is a decentralized governance application built on the KalyChain blockchain. It enables token holders to participate in on-chain governance through proposals, voting, delegation, and treasury management.
- Proposal Management: Create, view, and search governance proposals
- Voting System: Vote on active proposals with FOR, AGAINST, or ABSTAIN options
- Delegation: Delegate your voting power to trusted representatives
- Treasury Management: Control treasury funds through governance decisions
- KLC Wrapping: Wrap native KLC to governance tokens (gKLC) for participation
- Vote History: Track voting history for transparency and accountability
- Markdown Support: Rich text formatting for proposal descriptions
- Frontend: React, TypeScript, Vite
- Styling: Tailwind CSS, shadcn/ui components
- Blockchain Interaction: wagmi, viem, RainbowKit
- Data Storage: Supabase (PostgreSQL)
- Routing: React Router
- State Management: React hooks and context
- Node.js (v16+)
- npm or yarn
- Access to KalyChain network (Testnet or Mainnet)
- Web3 wallet (e.g., MetaMask)
-
Clone the repository
git clone https://github.com/KalyCoinProject/KalyDAO.git cd KalyDAO -
Install dependencies
npm install
-
Configure environment variables
cp .env.example .env
Edit the
.envfile with your specific configuration -
Start the development server
npm run dev
The application will be available at http://localhost:5173 (or another port if 5173 is in use)
npm run buildThe build artifacts will be stored in the dist/ directory.
Deploy the contents of the dist/ directory to your web hosting service of choice.
KalyDAO/
├── public/ # Static assets
├── src/
│ ├── assets/ # Images and other assets
│ │ ├── blockchain/ # Blockchain configuration and interactions
│ │ │ ├── config/ # Chain and wallet configs
│ │ │ ├── contracts/ # Contract ABIs and addresses
│ │ ├── components/ # React components
│ │ │ ├── governance/ # Governance-related components
│ │ │ ├── layout/ # Layout components (Header, Footer)
│ │ │ ├── proposals/ # Proposal-related components
│ │ │ ├── token/ # Token-related components
│ │ │ ├── ui/ # Reusable UI components
│ │ │ ├── wrap/ # Token wrapping components
│ │ ├── hooks/ # Custom React hooks
│ │ ├── lib/ # Utility functions and libraries
│ │ │ ├── supabase.ts # Supabase client and functions
│ │ ├── App.tsx # Main app component with routing
│ │ ├── main.tsx # Entry point
│ ├── .env # Environment variables
│ ├── package.json # Dependencies and scripts
│ ├── tsconfig.json # TypeScript configuration
│ └── vite.config.ts # Vite configuration
Create, browse, and vote on proposals that affect the KalyChain ecosystem. Each proposal includes:
- Title and description with Markdown support
- On-chain execution actions
- Voting period
- Category and status tracking
- Discussion section for community feedback
The DAO controls a Treasury Vault that can:
- Send and receive native KLC
- Manage ERC20 tokens
- Execute contract calls through governance
- Implement timelock security for sensitive operations
Delegate your voting power to trusted community members to:
- Increase governance participation
- Allow technical experts to represent your interests
- Easily manage and track your delegations
Convert between native KLC and governance KLC (gKLC) tokens:
- 1:1 conversion ratio
- Required for governance participation
- Unwrap at any time to reclaim native KLC
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
This project is licensed under the MIT License - see the LICENSE file for details.
For questions or support, please open an issue on the GitHub repository.
