This project is a smart contract-based voting system that rewards participants with tokens each time they vote. It’s designed to be simple, transparent, and fully on-chain.
# Vote & Reward — Token-Backed Voting System
This project is a smart contract-based voting system that rewards participants with tokens each time they vote.
It’s designed to be simple, transparent, and fully on-chain.
---
## 🧩 Overview
The contract lets the owner create proposals.
Anyone can vote on those proposals, and each voter receives a reward in the form of freshly minted tokens VOTE).
There are no imports, no constructors, and the contract keeps everything in one self-contained Solidity file.
---
## ⚙️ Features
- Create proposals (owner only)
- Vote once per proposal
- Automatically mint tokens as rewards for voters
- Adjustable token reward rate
- Minimal ERC-20–like token functionality:
- transfer
- approve
- transferFrom
- balanceOf
- allowance
- totalSupply
---
## 📄 Contract Details
| Name | Value |
|------|--------|
| Network | Flow Testnet |
| Contract Address | 0x77F6534A948294D71932a93Bd617114cB008Dc79 |
| Symbol | VOTE |
| Token Name | VoteToken |
| Decimals | 18 |
---
## 🚀 Usage
### 1. Create a Proposal
Only the owner (deployer) can create new proposals.
```solidity
createProposal("Add new environmental policy");
50%
NA