Code Monkey home page Code Monkey logo

bounty-framer's Introduction

Bounty Framer for Warpcast Frame

This project implements a Bounty Framer for the Warpcast Frame, facilitating daily token giveaways based on user eligibility criteria.

Overview

Deployed Contract here

Features

  1. Follow and Recast Verification:

    • Users must follow the specified project account and recast the given frame to enter the giveaway.
    • If not followed and recast, users are prompted with instructions to do so.
  2. Daily Allocation Check:

    • Each user has a fixed daily allocation of tokens.
    • Users can only redeem tokens once every 24 hours.
    • If the user has already redeemed their allocation for the day, they are informed to return in 24 hours.
  3. Wallet Connectivity:

    • The system verifies if the user has a connected wallet.
    • If not connected, users are prompted to set up a wallet.
  4. Token Distribution:

Prerequisites

Before you begin, ensure you have the following installed and set up:

  • Node.js (version >= 12)
  • Yarn package manager
  • MongoDB (or access to a MongoDB database, such as MongoDB Atlas)
  • Ethereum wallet with the private key for token distribution

Getting Started

1. Clone the Repository

git clone https://github.com/DharmikJagodana/bounty-framer.git
cd bounty-framer

2. Install Dependencies

yarn install

3. Set Environment Variables

Create a .env file in the root directory of the project and add the following environment variables:

NEXT_PUBLIC_HOST=example.com
PRIVATE_KEY=<Your Ethereum wallet private key here> // Use a temporary account if you are just exploring the repository
CONTRACT_ADDRESS=<Deploy your contract and put the address here>
DATABASE_URL=mongodb+srv://username:[email protected]/dbname

How to create ERC721 contract and MongoDB database for this project

Create mongodb database here MongoDB Atlas

Create ERC721 contract openzeppelin ERC721

User Remix IDE to deploy the contract Remix IDE

4. Start the Server

yarn start

The server will start and listen for incoming connections.

Usage

Once the server is running, users can interact with the Bounty Framer as follows

  1. Access the hosted application at http://example.com.
  2. Share the URL http://example.com with Farcaster or testing frame app to see it live or test it.

Contributing

Contributions are welcome! If you encounter any issues or have suggestions, feel free to open an issue or submit a pull request.

bounty-framer's People

Contributors

dharmikjagodana avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.