PlasmaVote is a decentralized voting application (dApp) built on the Plasma Testnet. It empowers communities to participate in governance by creating, viewing, and voting on proposals in a transparent and on-chain manner.
- Wallet Integration: Seamlessly connect with Ethereum-compatible wallets (like MetaMask) to interact with the application.
- View Proposals: Browse a real-time list of all active proposals submitted to the governance contract.
- Create Proposals: Users can submit their own proposals for community consideration directly to the blockchain.
- On-Chain Voting: Cast secure upvotes or downvotes on proposals, with every vote recorded transparently on the Plasma Testnet.
- Responsive UI: A modern, clean, and responsive user interface built for a great experience on any device.
- Frontend: Next.js, React, TypeScript
- Styling: Tailwind CSS with shadcn/ui components
- Blockchain Interaction: Ethers.js
- Smart Contract: Solidity
To get a local copy up and running, follow these simple steps.
- Node.js (v18 or later)
- An Ethereum-compatible wallet browser extension (e.g., MetaMask) configured for the Plasma Testnet.
-
Clone the repository:
git clone <your-repo-url> cd <repo-folder>
-
Install NPM packages:
npm install
-
Run the development server:
npm run dev
-
Open http://localhost:9002 with your browser to see the result.
- Connect Your Wallet: Click the "Connect Wallet" button to link your wallet to the application.
- Browse Proposals: Navigate to the "Main" page to see all current proposals. You can expand each proposal to view its full description.
- Vote: Cast your vote by clicking the "upvote" or "downvote" buttons on any proposal. You will be prompted to confirm the transaction in your wallet.
- Create a Proposal: Go to the "Create" page, fill out the title and description, and submit it to the blockchain. You will need to confirm this transaction in your wallet as well.