{"id":13767276,"url":"https://github.com/jamiechicago312/frameworks-ri-ja","last_synced_at":"2025-05-10T22:31:40.880Z","repository":{"id":229191459,"uuid":"776067244","full_name":"jamiechicago312/frameworks-ri-ja","owner":"jamiechicago312","description":"Framework Hackathon Project by Ricy and Jamie","archived":false,"fork":false,"pushed_at":"2024-03-24T15:34:22.000Z","size":393,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-17T02:34:31.227Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://frameworks-ri-ja-seven.vercel.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jamiechicago312.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-03-22T16:03:33.000Z","updated_at":"2024-03-24T01:15:56.000Z","dependencies_parsed_at":"2024-04-03T20:58:29.206Z","dependency_job_id":null,"html_url":"https://github.com/jamiechicago312/frameworks-ri-ja","commit_stats":null,"previous_names":["jamiechicago312/frameworks-ri-ja"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamiechicago312%2Fframeworks-ri-ja","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamiechicago312%2Fframeworks-ri-ja/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamiechicago312%2Fframeworks-ri-ja/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jamiechicago312%2Fframeworks-ri-ja/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jamiechicago312","download_url":"https://codeload.github.com/jamiechicago312/frameworks-ri-ja/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253492529,"owners_count":21916959,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T16:01:06.913Z","updated_at":"2025-05-10T22:31:38.235Z","avatar_url":"https://github.com/jamiechicago312.png","language":"TypeScript","funding_links":[],"categories":["Uncategorized"],"sub_categories":["Uncategorized"],"readme":"# Mint-A-Cast: A Farcaster Frame\nAn ETHGlobalFramework Hackathon Project by Ricy [@ricy](https://warpcast.com/ricy) and Jamie [@chicago](https://warpcast.com/chicago).\n\n## Introduction\nWe created the Mint-A-Cast frame to empower creators and users. We wanted to solve 2 problems: \n- How do we have on-chain attribution for users who save casts?\n- How do we reward creators for quality, popular casts?\n\nOur Mint-A-Cast frame solves these two problems. First, the frame allows users to mint banger casts and allows them to have an on-chain record of casts they like. Second, creators (cast authors) can set a fee when their casts are minted; this gives creators another avenue of revenue. Creators also have a way to track users who are rewarding them for their content; this gives another directory to content creators to possibly reward their followers. With the Mint-A-Cast frame, users directly reward creators for quality content thus increases the reward for casting quality content.\n\n## MVP Summary\nThrough the use of this frame, the user can mint a cast as an NFT. Currently, the user will need to visit the site – https://frameworks-ri-ja-seven.vercel.app – to paste the URL to upload the metadata. Afterward, they use the link provided to cast that will spin up a frame. This single-frame will allow users to mint casts directly from the Warpcast platform. Currently, the cast creator can set a minting fee by interacting with the contract directly as well as withdraw funds. \n\n**User Flow**\n1. Find a cast they like; copy the cast link (format: `https://warpcast.com/[castAuthorName]/[castShortHash]`)\n2. Navigate to the website https://frameworks-ri-ja-seven.vercel.app\n3. Past URL into input box, click button to next step\n4. Follow Transaction pop-up in order to use the Pinata SDK to upload the IPFS\n5. Copy the link to the frame generated.\n6. Either cast this link to spin up the frame or use a debugger like frames.js to see the frame.\n7. Click mint \u0026 sign the wallet pop up\n8. Wait for the transaction to complete\n\nCurrently, the Mint-A-Cast website and frame is usable to mint any cast; so no customization is required beyond providing the cast link. You can use the link to the blockchain explorer to see recent mints: https://sepolia.etherscan.io/address/0x4dd9ed609abbb6ae489045a678ff3080d3f4106c\n\n## Technical Summary\nThe [contract](https://sepolia.etherscan.io/tx/0x4b50fa82925f3417af973bddf057a074345efe818a6491e898f057f898141f23) is a erc1155 smart contract. The contract is deployed on Sepolia and developed with Hardhat. It also provides interface for authors to adjust price and withdraw profits.\n\nThe frontend is a NextJS project. Using [Framejs](https://github.com/jamiechicago312/frameworks-ri-ja/blob/main/frontend/src/app/%5BtokenId%5D/frames/route.tsx) to achieve single page minting frame. This Mint-A-Cast frame is to present users with the cast image of the nft they can mint with a the mint button. The mint button would allow users to send transactions to Sepolia chain and the transaction would also send some ETH as the fees to buy/mint the nft. After users have submitted the transaction, the frame returns a transaction submitted frame with transaction hash. To convert a cast into NFT, the project is using APIs by Wield to retrieve related data and using the Pinata SDK to upload metadata to IPFS.\n\n## Future Roadmap\n\n**General Improvements**\n- Move production to Base Mainnet; currently dev is on Sepolia\n- Switch from Wield API to Pinata Farcaster API when they accept the short hash and username for cast look up.\n- Create multipage frame\n   - First Page\n      - Allow users to input cast link into first frame\n      - Submit button \u0026 transaction to upload metadata IPFS\n   - Second Page\n      - Show picture preview of cast\n      - Mint button \u0026 transaction to mint NFT\n   - Third Page\n      - Show success image\n      - Link out button to blockchain explorer\n- Deploy an 1155 contract per creator from first mint\n- When the same cast is minted, it will have the same token id; hence, using ERC 1155.\n- Each NFT will have attributes to show:\n   - Date\n   - Author Name\n   - Channel cast was made in\n- Make sure contract follows standards to be minting with Warps\n- Small ~$0.10 fee for each mint to go to us (Ricy \u0026 Jamie) to help cover cost to maintain the Frame\n\n**User Improvements**\n- The frame's input with be able to accept the cast URL or a full cast hash input\n- After the first mint, when the user shares their minted cast other users can mint the same cast with Warps through Warpcast.\n- User will have a Mint-A-Cast web client to browse Farcaster\n   - Minting cast is an embedded function\n   - Users can use any currency (cross chain execute; full chain abstraction)\n   - User can create their own custom Mint-A-Cast frame for specific casts of theirs\n\n**Creator Improvements**\n- Creation of a web client front end for creator tools including but not limited to\n  - Set mint pricing (e.g. 0.001 ETH)\n  - Set mint limit amount (e.g. 10 total)\n  - Set mint time limit (e.g. 1 day)\n  - Unmintable Cast (disabled minting on some casts)\n  - Airdrop minted casts to previous supporters\n  - Allowlist minting\n  - Subscription to cast minting (through Hypersub)\n  - Specify currency received (e.g. Base ETH, DEGEN)\n      - Users will be able to use whatever\n      - The currency will be instant bridged under the hood\n  - Specify Chain for Depolyed Contract\n     - Default to a chain if none selected\n  - Allocate profits directly to an address withouth needing to withdraw\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamiechicago312%2Fframeworks-ri-ja","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjamiechicago312%2Fframeworks-ri-ja","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjamiechicago312%2Fframeworks-ri-ja/lists"}