A decentralized application (dApp) that allows users to create and vote in polls across multiple blockchain networks (Scroll Sepolia and Arbitrum Sepolia), offering a unified and modern user experience.
Transparent Voting: All polls and votes are recorded on-chain.
Multi-Network Support: Seamless interaction across testnets.
Responsive and Themed UI: Light/dark mode, smooth animations, and mobile support.
Instant Feedback: Real-time visual notifications for user actions.
Enhanced Web3 UX: Simplified, user-friendly interface for broader accessibility.
💡 Social Impact (In Progress)
"Future expansion includes NFT rewards, gamification, and smart-contract-driven social impact funds triggered by poll results."
Frontend: Next.js 14, React 18, TypeScript, Tailwind CSS, shadcn/ui
Blockchain: Solidity, ethers.js, MetaMask
Networks: Scroll Sepolia, Arbitrum Sepolia
Clone this repository:
git clone https://github.com/Tete/cross-chain-polling.gitcd cross-chain-polling
Install dependencies:
npm install
Configure contract addresses:
Edit the lib/constants.ts file and update the contract addresses for Scroll and Arbitrum.
Start the development server:
npm run dev
Open http://localhost:3000 in your browser.
Connect Your Wallet: Click "Connect Wallet" to connect MetaMask.
Select a Network: Choose between Scroll Sepolia or Arbitrum Sepolia.
Create a Poll: Go to the "Create Poll" tab, enter a question and options.
Vote on Polls: Browse existing polls and cast your vote.
The smart contract must be deployed on:
Scroll Sepolia Testnet
Arbitrum Sepolia Testnet
Detailed deployment instructions:
Use Remix IDE or Hardhat to deploy the SimplePoll.sol contract.
Update the contract addresses in lib/constants.ts.
Deploy the frontend to Vercel or your preferred platform.
Developed by @TeteLicense: MIT