Cross-Chain Polling System

Hybrid decentralized voting platform that allows users to create and participate in all types of polls: controversies, activism, or Web3 donations. Operating across multiple blockchains.

Websitegithub
  • 0 Raised
  • 501 Views
  • 0 Judges

Tags

  • Arbitrum
  • Scroll

Gallery

Description

🗳️ Cross-Chain Polling System

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.

✨ Features

  • 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."

⚙️ Tech Stack

  • Frontend: Next.js 14, React 18, TypeScript, Tailwind CSS, shadcn/ui

  • Blockchain: Solidity, ethers.js, MetaMask

  • Networks: Scroll Sepolia, Arbitrum Sepolia

🔧 Installation and Usage

  1. Clone this repository:

    git clone https://github.com/Tete/cross-chain-polling.gitcd cross-chain-polling
  2. Install dependencies:

    npm install
  3. Configure contract addresses:

    • Edit the lib/constants.ts file and update the contract addresses for Scroll and Arbitrum.

  4. Start the development server:

    npm run dev
  5. Open http://localhost:3000 in your browser.

📱 Application Usage

  1. Connect Your Wallet: Click "Connect Wallet" to connect MetaMask.

  2. Select a Network: Choose between Scroll Sepolia or Arbitrum Sepolia.

  3. Create a Poll: Go to the "Create Poll" tab, enter a question and options.

  4. Vote on Polls: Browse existing polls and cast your vote.

🚀 Deployment

The smart contract must be deployed on:

  1. Scroll Sepolia Testnet

  2. Arbitrum Sepolia Testnet

Detailed deployment instructions:

  1. Use Remix IDE or Hardhat to deploy the SimplePoll.sol contract.

  2. Update the contract addresses in lib/constants.ts.

  3. Deploy the frontend to Vercel or your preferred platform.

👨‍💻 Author

Developed by @TeteLicense: MIT


Attachments