Anonymous Blockchain Feedback System built on Flow EVM Testnet.
METASTIX is a decentralized application (dApp) that enables anonymous feedback submission and verification on the blockchain. It uses cryptographic hashing to ensure feedback integrity while maintaining user privacy.
- 🔒 Anonymous Feedback - Submit feedback without revealing your identity
- ✅ Blockchain Verification - All feedback is stored on Flow EVM Testnet
- 🔍 Proof Verification - Verify feedback authenticity using cryptographic proofs
- 📊 Feedback Viewer - View all submitted feedback for any organization
- 🦊 MetaMask Integration - Connect your wallet to interact with the blockchain
- Frontend: Next.js 16, React, TypeScript
- Styling: Tailwind CSS
- Blockchain: Flow EVM Testnet
- Smart Contract Interaction: ethers.js
- UI Components: Radix UI
- Node.js 18+
- npm or yarn
- MetaMask wallet extension
-
Clone the repository:
git clone https://github.com/YOUR_USERNAME/METASTIX.git cd METASTIX -
Install dependencies:
npm install
-
(Optional) Create environment file:
cp .env.example .env.local
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser.
- Install MetaMask browser extension
- Click "Connect Wallet" in the app
- The app will automatically prompt you to add Flow EVM Testnet
Network Details:
- Network Name: Flow EVM Testnet
- RPC URL: https://testnet.evm.nodes.onflow.org
- Chain ID: 545
- Currency Symbol: FLOW
- Block Explorer: https://evm-testnet.flowscan.io
METASTIX/
├── app/ # Next.js app router pages
│ ├── page.tsx # Home page
│ ├── submit/ # Submit feedback page
│ ├── verify/ # Verify proof page
│ └── viewer/ # View feedback page
├── components/ # React components
│ ├── navbar.tsx
│ ├── footer.tsx
│ ├── submit-form.tsx
│ ├── verify-proof.tsx
│ ├── viewer-table.tsx
│ └── wallet-connect.tsx
├── lib/
│ └── contract.ts # Smart contract interaction
├── types/
│ └── ethereum.d.ts # TypeScript definitions
└── public/ # Static assets
The feedback contract is deployed on Flow EVM Testnet at:
0x6F811366489a86D42A2B6aFF698911C86205AA27
submitFeedback(orgId, hash)- Submit feedback hash for an organizationgetFeedbackCount(orgId)- Get total feedback count for an organizationgetFeedback(orgId, index)- Get feedback hash and timestamp
See .env.example for available environment variables.
MIT License
Contributions are welcome! Please feel free to submit a Pull Request.
