This bounty is no longer available
Web3 DAO | nextdotid Logo

[Bounty] Headless browser for fetching Proof Post

Organization

nextdotid

Deadline

over 1 year ago

Status

ENDED

3000 USD

INSTRUCTIONS

Catalogue

  • Platform
    • [x] Gitcoin
  • Experience
    • [x] Intermediate
  • Category
    • [x] Next.ID ProofService
  • Time Commitment
    • [x] 2 weeks
  • Bounty Size
    • [x] $3000

tl;dr: add a headless browser mechanism alongside current API-based proof post fetching channel.

Bounty Description

For now, proof_server performs proof_post fetching by API or single HTTP GET. But in real world, there may be no way for some platforms to do this way. Including:

  • No APIs at all provided by platform
  • API needs each user to do an OAuth to fetch their own data
  • API has very strict quota and will finally exceed if proof_service users grows.
  • User data cannot be fetched by single HTTP GET (e.g. JavaScript-driven XHR is performed in that page)
  • HTML DOM struct is changed frequently, can't define a fixed selector to query the data from DOM tree.
  • Remote HTTP server has a strict anti-bot mechanism, single HTTP GET will be blocked in a short amount of time.

To make proof_server supports more and more services later, we need a headless browser to simulate normal user's page-browsing flow.

Design goal

  • The headless browser module can be kind of independent from current proof_server's code structure. With a simple wrapper, proof_server can communicate with it in different processes.
  • The headless browser module will find user's proof post using single regexp, instead of parsing and css-style selecting DOM.

Winner Info

We will select up to 2 winners and each will receive at least $3000 as the winning prize.

Submission Info

Please make sure you read through our docs before starting your hacking. You will need to create a pr to this repo to submit your work.

Contact Info

@hominluo @nykma here or Telegram for any question regarding how to work on Next.ID.