
🟦 How to Build your first Base Mini App
This mini report distills the actual developer experience into a clear setup flow with caveats, tips, and dev tools. Follow these three steps in order to build and test your Mini App effectively.

A Diagrammatic History of Ethereum Account Abstraction
December 2024

A Letter to Well-Intentioned Crypto-Skeptics
Dec 2024

🟦 How to Build your first Base Mini App
This mini report distills the actual developer experience into a clear setup flow with caveats, tips, and dev tools. Follow these three steps in order to build and test your Mini App effectively.

A Diagrammatic History of Ethereum Account Abstraction
December 2024

A Letter to Well-Intentioned Crypto-Skeptics
Dec 2024


Share Dialog
Share Dialog

Subscribe to deca12x

Subscribe to deca12x
<100 subscribers
<100 subscribers
you may have seen me post cryptic casts this weekend, such as "cast from script"... these were tests during the hackathon, read about my process below, or comment and i'll send you the waitlist https://paragraph.xyz/@deca12x/qcast-update-8
___TLDR___
Hacking at ETHGlobal Brussels this weekend: Hoot
Decided to start over 🤯 qcast with different stack, below notes written during hack, see update #7
cron-job (or other option), & use filecoin for media storage instead of pinata, & lighthouse to pin to ipfs and a dynamic login & auth to pay for service
___Bounties___
👋 Dynamic Best SocialFi Project ⸺ $2,000
This prize goes to the project that utilizes Dynamic to create a unique social experience with financial incentives. This could involve users interacting over a game, social network or other areas of consumer crypto.
Qualification Requirements - The project must be available via a deployment link The project must use Dynamic beyond basic signup/login The project must fall into the SocialFi category
🏆 Filecoin Prize ⸺ $11,000
1st place $5,000 2nd place $3,500 3rd place $2,500
Awarded to the top 3 projects overall submitting to any of the Filecoin tracks - Data Apps, AI Tools or Privacy Tools.
Qualification Requirements - Submit a video demo to showcase and walk through your project. - Open-source your project on Github.
Filecoin Data Apps ⸺ $3,000
Best project built on Filecoin storage services (e.g. lighthouse or web3.storage) or using FVM (Filecoin Solidity Library) directly to make data management flow smoothly. Examples: industry specific storage apps xxx.storage, perpetual storage, data aggregators, data caching nodes, truestless notaries & retrieval oracles.
Qualification Requirements - Store & use application data programmably using Filecoin storage services (e.g. lighthouse or web3.storage). - Deploy your project on the Filecoin Calibration testnet, including any associated smart contracts if applicable.
___User Flow___
user login dynamic.xyz (social or wallet)
user connect warpcast with neynar (get user.signer_uuid)
user inputs text
user uploads image (optional)
ADDITIONAL FEATURE: user uploads frame url (optional)
user selects date & time
...client-side sends post request with all this info to server-side endpoint
cast is added to list of scheduled casts
user can remove or update the scheduled cast
...when it's time for the cast, it's triggered by cron-job and published
cast is removed from list of scheduled casts
___Tech Stack___
nextjs, tailwind css
dynamic.xyz connect wallet or social login
dynamic.xyz to connect farcaster account
lighthouse & filecoin to store images & videos
authjs to authenticate users
upstash/qstash or trigger.dev to schedule cron jobs
neynar to publish casts
___Database (first approach)___
users, contains:
id
dynamic_id
signer_uuids, contains:
id
user
signer_uuid
casts, contains:
cast id
cast text
ipfs url of image
date & time
bool published or not
? frame url ?
___Challenges___
when pinning the image file to ipfs with lighthouse, we were following this section of the docs, but it was intended for pinning from client-side. we were trying to use a buffer without documentation on it. we unblocked the issue once we realised another section of the docs about it.
the new authjs library, it was challenging to manage the token.
___Analytics___
Retreive casts based on filters (docs):
likes_count
recasts_count
timestamp: "2024-07-13T18:47:04.000Z"
name (channel)
Analytics will be bar-charts based on castScore = likes_count + (recasts_count * 3)
Graph 1: x-axis is day of the week, y-axis is avg castScore
Graph 2: x-axis is 3h time intervals, y-axis is avg castScore
Graph 3: x-axis is channel, y-axis is avg castScore
to do:
fid should come from "author": {"fid" ...not "parent_author": {"fid"
the unique identifier for a cast should be "casts": [{"hash"
___TLDR___
Hacking at ETHGlobal Brussels this weekend: Hoot
Decided to start over 🤯 qcast with different stack, below notes written during hack, see update #7
cron-job (or other option), & use filecoin for media storage instead of pinata, & lighthouse to pin to ipfs and a dynamic login & auth to pay for service
___Bounties___
👋 Dynamic Best SocialFi Project ⸺ $2,000
This prize goes to the project that utilizes Dynamic to create a unique social experience with financial incentives. This could involve users interacting over a game, social network or other areas of consumer crypto.
Qualification Requirements - The project must be available via a deployment link The project must use Dynamic beyond basic signup/login The project must fall into the SocialFi category
🏆 Filecoin Prize ⸺ $11,000
1st place $5,000 2nd place $3,500 3rd place $2,500
Awarded to the top 3 projects overall submitting to any of the Filecoin tracks - Data Apps, AI Tools or Privacy Tools.
Qualification Requirements - Submit a video demo to showcase and walk through your project. - Open-source your project on Github.
Filecoin Data Apps ⸺ $3,000
Best project built on Filecoin storage services (e.g. lighthouse or web3.storage) or using FVM (Filecoin Solidity Library) directly to make data management flow smoothly. Examples: industry specific storage apps xxx.storage, perpetual storage, data aggregators, data caching nodes, truestless notaries & retrieval oracles.
Qualification Requirements - Store & use application data programmably using Filecoin storage services (e.g. lighthouse or web3.storage). - Deploy your project on the Filecoin Calibration testnet, including any associated smart contracts if applicable.
___User Flow___
user login dynamic.xyz (social or wallet)
user connect warpcast with neynar (get user.signer_uuid)
user inputs text
user uploads image (optional)
ADDITIONAL FEATURE: user uploads frame url (optional)
user selects date & time
...client-side sends post request with all this info to server-side endpoint
cast is added to list of scheduled casts
user can remove or update the scheduled cast
...when it's time for the cast, it's triggered by cron-job and published
cast is removed from list of scheduled casts
___Tech Stack___
nextjs, tailwind css
dynamic.xyz connect wallet or social login
dynamic.xyz to connect farcaster account
lighthouse & filecoin to store images & videos
authjs to authenticate users
upstash/qstash or trigger.dev to schedule cron jobs
neynar to publish casts
___Database (first approach)___
users, contains:
id
dynamic_id
signer_uuids, contains:
id
user
signer_uuid
casts, contains:
cast id
cast text
ipfs url of image
date & time
bool published or not
? frame url ?
___Challenges___
when pinning the image file to ipfs with lighthouse, we were following this section of the docs, but it was intended for pinning from client-side. we were trying to use a buffer without documentation on it. we unblocked the issue once we realised another section of the docs about it.
the new authjs library, it was challenging to manage the token.
___Analytics___
Retreive casts based on filters (docs):
likes_count
recasts_count
timestamp: "2024-07-13T18:47:04.000Z"
name (channel)
Analytics will be bar-charts based on castScore = likes_count + (recasts_count * 3)
Graph 1: x-axis is day of the week, y-axis is avg castScore
Graph 2: x-axis is 3h time intervals, y-axis is avg castScore
Graph 3: x-axis is channel, y-axis is avg castScore
to do:
fid should come from "author": {"fid" ...not "parent_author": {"fid"
the unique identifier for a cast should be "casts": [{"hash"
3 comments
you may have seen me post cryptic casts this weekend, such as "cast from script"... these were tests during the hackathon, read about my process below, or comment and i'll send you the waitlist https://paragraph.xyz/@deca12x/qcast-update-8
coool so a supercast competitor without being a client
supercast has a lot of great features, but also expensive. scheduling casts is smt i need myself to bring @urbe-eth comms to farcaster. qcast is meant to be a simpler cheaper minimal product.