Skip to content

efforthye/world-rainbow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

World Rainbow

Verified human survey platform on World ID.

What is this

  • Online survey data is broken. Bots flood responses, people lie about age and gender. World Rainbow only lets World ID verified humans answer surveys -- demographics come from verification, not self-report.
  • Pitch: https://worldcoin-rainbow.vercel.app/pitch

Tech

  • Next.js 14 + Tailwind CSS
  • World MiniKit SDK (Verify, Pay, Wallet Auth)
  • Google Translate API
  • World Notifications API
  • Vercel deploy
  • MongoDB Atlas
  • Deploy(Remix): WorldChain Testnet

Faucet (WorldChain Sepolia)

Contract Deploy (Remix)

alt text

Features

  • World ID Orb verification (1 person = 1 account)
  • Auto demographic matching (country, gender, age, language, occupation, interests)
  • 7 question types (single/multiple choice, short/long text, star rating, yes-no, likert)
  • Auto translation (Google Translate) -- write in Korean, get answers from Brazil in Portuguese
  • WLD/USDC rewards for respondents (equal or random distribution)
  • Push notifications when matching surveys appear
  • ZKP privacy -- verified demographics without revealing identity

Fee

5% platform fee. 95% goes to respondents.

Webview Debug Tool

Design

Logo Image

Content card Image

alt text

White glassmorphism UI with soft rainbow gradient background. alt text alt text alt text

  • Background: light pastel rainbow gradient (#fef2f4 -> #f0f1fa -> #edf8fa -> #f4f9ee -> #fefce8)
  • Cards: frosted glass (white 70% opacity + blur 20px)
  • Accent: soft purple #8b5cf6
  • Buttons: purple-pink gradient (#c4b5fd -> #8b5cf6 -> #f0abfc)
  • Tags: light purple bg with purple text
  • Progress bars: purple-pink gradient

Run

  1. .env.local setting:
    # World Developer Portal에서 발급받은 앱 아이디 값
    APP_ID=app_45c8fa8ae837f8e927e16b2d889af7bd
    NEXT_PUBLIC_APP_ID=app_45c8fa8ae837f8e927e16b2d889af7bd
    
    # World Developer Portald에서 발급받은 API Key 값
    DEV_PORTAL_API_KEY=""
    
    # 다국어 번역을 위한 Google Translate API Key 값
    GOOGLE_TRANSLATE_API_KEY=""
    
    # 데이터 스토리지 (MongoDB Atlas 사용)
    MONGODB_URI=""
    
    # 유저 설문 등록 금으로 받아놓은 코인을 컨트랙트에 저장(배포)하기 위한 지갑 주소 및 비밀키
    # NEXT_PUBLIC_PAYMENT_ADDRESS=0x823fd7f91fdb3fdb5c40601ff24e40cdf05bd987 #월드(내지갑주소)
    NEXT_PUBLIC_PAYMENT_ADDRESS=0x46AC9801B106A4ab1EF1BFC67B442C9c44Dc9C96 #월드체인세포리아메마
    PLATFORM_WALLET_PRIVATE_KEY="" #월드체인세포리아메마비밀키
    
    # 월드체인 RPC
    WORLD_CHAIN_RPC=https://worldchain-mainnet.g.alchemy.com/public
    
    # 배포된 컨트랙트 주소
    NEXT_PUBLIC_ESCROW_ADDRESS=0x265f19e70eDb41fb909Da4499F3A054DF514B365
    NEXT_PUBLIC_NETWORK=testnet
    
  2. start
    npm install
    npm run dev

Error Logs

  • [verify] FAILED: 400 {"code":"max_verifications_reached","detail":"This person has already verified for this action.","attribute":null,"app_id":"app_45c8fa8ae837f8e927e16b2d889af7bd"}

    • 이미 인증되었기 때문에 400오류가 떴다. (중복 인증 불가)
    • 이미 인증한 사람이면 "이미 인증됨"으로 통과시켜서 해결
  • 설문조사 등록시 수수료 5%가 따로 나가지 않고 같이 나감

    • const perPerson = (parseFloat(rewardAmount) / parseInt(targetCount)) * 0.95 이미 이렇게 돼있음
    • 찾아보니 현재 테스트 하고 있는 to 주소가 하나라서 한 트랜잭션에 두 곳으로 나눠 보내는 게 안 된다고 하여서, 실제로 두 번 나눠 보내려면 MiniKit.pay()를 두 번 호출해야 하는데 ux가 별로라고 한다.
    • 어차피 실제 유저가 사용하면 같을 일 없으니까 다른 지갑으로 테스트 하면 정상적으로 나옴

Milestone

  • ~2Week: 다국어 언어 전체 추가 (설문 번역은 google translate 통하여 자동으로 되므로 플랫폼 언어 세팅만 더 추가하면 가능)
  • ~1Month: 정산 로직 smart-contract 처음에 worldchain testnet에 했다가 -> 실제 월드코인으로 우리 플랫폼 결제 하고 싶어서 바꿨는데 -> 테스트넷이랑 호환 안 돼서 메인넷에 배포하려 했으나 -> 이더가 없어서 일단 테스트넷에 배포만 해둔 채로 지갑으로 이동하도록 했는데 -> 메인넷에 컨트랙트 배포 해서 연동하기
  • ~2Month: 다크모드 추가 및 서비스 예외처리 등 고도화 작업
      • 신고시스템? 답변을 평가하는 시스템을 만들어서 관리자가 보고 이건 쫌 아니다 싶으면 경고시스템을 넣어서 n회 경고이면 n일간 설문조사 금지 << 와 같은 작업 등
  • ~3Month: 모인 유저 설문 5%수수료 수익들을 기반으로 이벤트 진행
  • 팀원 모집?

About

World Rainbow only lets World ID verified humans answer surveys - demographics come from verification, not self-report.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors