Bounty Blink is a Solana-blink application that allows users to participate in X (formerly Twitter) thread challenges and submit their entries for rewards. Bounty Blink uses Next.js, Solana Web3.js, Airtable for data storage, and Blinksights for analytics.
- Displays challenge details and instructions in a Blink
- Allows users to submit their X thread URLs
- Validates wallet addresses and X thread URLs
- Stores submissions in Airtable
- Tracks user interactions with Blinksights
The Airtable base should have a table named "Submissions" with the following columns:
- "X Thread URL" (URL): Stores the submitted X thread URL
- "Wallet Address" (Text): Stores the participant's Solana wallet address
- "Submission Time" (Date Time): Records the time of submission
- "Status" (Single Select): Tracks the status of the submission (e.g., "Pending", "Approved", "Rejected")
To run this project, you need to set up the following environment variables:
AIRTABLE_PERSONAL_ACCESS_TOKEN: Your Airtable Personal Access TokenAIRTABLE_BASE1_ID: The ID of your Airtable baseANALYTICS: Your Blinksights access token
Make sure to add these variables to your .env file or your hosting platform's environment settings.
- Clone the repository
- Install dependencies:
npm install - Set up your environment variables
- Run the development server:
npm run dev
- Access the Bounty Blink challenge page
- Connect your Solana wallet
- Submit your X thread URL
- Wait for the transaction confirmation
- Check Airtable for your submission record
You can test this blink at: https://dial.to/?action=solana-action:http://localhost:3000/api/actions/CRT
Contributions, issues, and feature requests are welcome. Feel free to check the issues page if you want to contribute.