converting-minikit-to-farcaster
19
总安装量
19
周安装量
#18736
全站排名
安装命令
npx skills add https://github.com/base/base-skills --skill converting-minikit-to-farcaster
Agent 安装分布
gemini-cli
19
amp
19
github-copilot
19
opencode
19
cursor
19
codex
19
Skill 文档
MiniKit to Farcaster SDK
Breaking Changes (SDK v0.2.0+)
sdk.contextis a Promise â must awaitsdk.isInMiniApp()accepts no parameterssdk.actions.setPrimaryButton()has no onClick callback
Check version: npm list @farcaster/miniapp-sdk
Quick Reference
| MiniKit | Farcaster SDK | Notes |
|---|---|---|
useMiniKit().setFrameReady() |
await sdk.actions.ready() |
|
useMiniKit().context |
await sdk.context |
Async |
useMiniKit().isSDKLoaded |
await sdk.isInMiniApp() |
No params |
useClose() |
await sdk.actions.close() |
|
useOpenUrl(url) |
await sdk.actions.openUrl(url) |
|
useViewProfile(fid) |
await sdk.actions.viewProfile({ fid }) |
|
useViewCast(hash) |
await sdk.actions.viewCast({ hash }) |
|
useComposeCast() |
await sdk.actions.composeCast({ text, embeds }) |
|
useAddFrame() |
await sdk.actions.addMiniApp() |
|
usePrimaryButton(opts, cb) |
await sdk.actions.setPrimaryButton(opts) |
No callback |
useAuthenticate() |
sdk.quickAuth.getToken() |
See AUTH.md |
Context Access Pattern
// WRONG
const fid = sdk.context?.user?.fid;
// CORRECT
const context = await sdk.context;
const fid = context?.user?.fid;
In React components, use state:
const [context, setContext] = useState(null);
useEffect(() => {
const load = async () => {
const ctx = await sdk.context;
setContext(ctx);
};
load();
}, []);
Conversion Workflow
- Verify Node.js >= 22.11.0
- Update dependencies â see DEPENDENCIES.md
- Replace imports:
@coinbase/onchainkit/minikitâ@farcaster/miniapp-sdk - Convert hooks using reference above
- Add FrameProvider â see PROVIDER.md
- Update manifest:
frameâminiappâ see MANIFEST.md
Common Errors
“Property ‘user’ does not exist on type ‘Promise'”
â Await sdk.context before accessing properties
“Expected 0 arguments, but got 1”
â Remove parameters from sdk.isInMiniApp()
Context is null in components â Ensure FrameProvider is in your provider chain
References
- MAPPING.md â Complete hook-by-hook conversion reference
- EXAMPLES.md â Before/after code examples
- PROVIDER.md â Provider setup with FrameProvider
- PITFALLS.md â Common errors and solutions
- DEPENDENCIES.md â Package updates
- AUTH.md â Quick Auth migration
- MANIFEST.md â farcaster.json changes