Skip to content

Manice18/devearn

Repository files navigation

DevEarn

thumbnail-1

About

DevEarn is a platform for developers to solve GitHub issues and earn crypto rewards on the Solana Blockchain.

Features

  • Create Bounties: Sign up with GitHub and create a bounty to reward someone for solving issues in your selected repository.
  • Submit PRs: After making a pull request (PR), post a link to your PR on the listed bounty you’ve worked on.
  • Verify & Claim: The original poster of the bounty verifies the PR and accepts the submission, allowing the developer to claim the tokens allocated to the bounty.
  • Reward Contributors: Airdrop rewards to repository contributors using Blinks, which can be claimed as part of an airdrop campaign (Explained better in later section).

Airdrop yourself some USDC to try out

Go to Circle USDC faucet and select solana Devnet: Circle USDC faucet

Mint address of USDC: 4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU

Bounty Creation and Claim Process

create-bounty

Airdropping Contributors with Blinks Process

airdrop-creation contributor

Blink Routes:

  • /api/actions/blink-airdrop : Helps you create airdrop campaigns for your contributors via blinks. Try it out here: Dial.to
  • /api/actions/blink-claim?campaignId=(id here received from blink-airdrop) : Helps the devs(repository contributors) to claim the airdrops created from blink-airdrop.
  • /api/actions/airdrop?campaignId=(id created from dashboard) : Helps the devs(repository contributors) to claim the airdrop for the campaigns created from /reward-contributors dashboard.

Navigating The Routes

  1. /signin: Sign in or sign up with GitHub.
  2. /bounties: View available bounties.
  3. /bounties/create-bounty: Create a new bounty listing.
  4. /your-listings: View statistics on your listed bounties.
  5. /bounties/[bountyId]:
    • View details of your listed bounty if you are the owner and can accept submission from here.
    • If you’re not the owner, submit a link to your PR if the project is live.
  6. /leaderboard: View the top performers on the bounties.
  7. /reward-contributors/create-airdrop-campaign: Create an airdrop campaign Blink to reward contributors to a repository.
  8. /reward-contributors: View details of your created airdrop campaigns.
  9. /settings: Change your username.

Working Videos

Creating/claiming with Blinks:

Creating/claiming with Blinks

Claiming with Blinks after creating airdrop campaign from Reward Contributors Page:

Claiming with Blinks

How to run the project

  • Run the command cp .env.examples .env to set up your environment variables.
  • Obtain the required environment variables:
    • DB Variables: From Vercel Postgres.
    • RPC: From any Solana RPC provider (e.g., Helius).
    • AUTH_SECRET: Run npx auth secret to generate it.
    • AUTH_GITHUB_ID and AUTH_GITHUB_SECRET: Register a new OAuth application on GitHub under Developer Settings to get these.apps and Register a new application to get them.
    • RECLAIM_APP_SECRET and RECLAIM_APP_ID: Go to Reclaim Protocol and create a new application and select Github Username as the provider.
  • Install dependencies with npm i.
  • Start the application with npm run dev.

Contract address: 9ikpoDgKp6pEp4BQySe4oyzXD54J3qtzLWZDT8kLn2Wh

Tech-stack Used

nextjs solana web3js shadcnUI Rust typescript prisma postgresql reclaim-protocol