Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dharmikjagodana/bounty-framer
Bounty Framer for Warpcast Frame
https://github.com/dharmikjagodana/bounty-framer
blockchain bounty farcaster farcaster-frames framerjs warpcast
Last synced: 19 days ago
JSON representation
Bounty Framer for Warpcast Frame
- Host: GitHub
- URL: https://github.com/dharmikjagodana/bounty-framer
- Owner: DharmikJagodana
- Created: 2024-04-15T04:38:02.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-06-18T03:08:53.000Z (8 months ago)
- Last Synced: 2025-02-02T05:44:34.379Z (19 days ago)
- Topics: blockchain, bounty, farcaster, farcaster-frames, framerjs, warpcast
- Language: TypeScript
- Homepage: https://bounty-framer.vercel.app
- Size: 631 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Bounty Framer for Warpcast Frame
This project implements a [Bounty Framer for the Warpcast Frame](https://earn.superteam.fun/listings/bounty/create-a-frame-for-farcaster/), facilitating daily token giveaways based on user eligibility criteria.
### Overview
Deployed Contract [here](https://base-sepolia.blockscout.com/address/0x07Bf8Dbb8eF2d42035b99003634Bc1aA809C52D1)
## 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**:
- Tokens are sent from a treasury wallet to the user's connected wallet.
- The token contract address used in the program is [0x07Bf8Dbb8eF2d42035b99003634Bc1aA809C52D1](https://base-sepolia.blockscout.com/address/0x07Bf8Dbb8eF2d42035b99003634Bc1aA809C52D1).## 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
```bash
git clone https://github.com/DharmikJagodana/bounty-framer.git
cd bounty-framer
```### 2. Install Dependencies
```bash
yarn install
```### 3. Set Environment Variables
Create a .env file in the root directory of the project and add the following environment variables:
```plaintext
NEXT_PUBLIC_HOST=example.com
PRIVATE_KEY= // Use a temporary account if you are just exploring the repository
CONTRACT_ADDRESS=
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](https://www.mongodb.com/cloud/atlas)Create ERC721 contract [openzeppelin ERC721](https://wizard.openzeppelin.com/#erc721)
User Remix IDE to deploy the contract [Remix IDE](https://remix.ethereum.org/)
### 4. Start the Server
```bash
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 .
2. Share the URL 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.