neynar
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseNeynar (Farcaster API)
Neynar(Farcaster API)
Interact with the Farcaster decentralized social protocol via Neynar's API.
通过Neynar的API与Farcaster去中心化社交协议进行交互。
Quick Start
快速开始
Setup
配置步骤
- Get an API key from dev.neynar.com
- Create config:
bash
mkdir -p ~/.clawdbot/skills/neynar
cat > ~/.clawdbot/skills/neynar/config.json << 'EOF'
{
"apiKey": "YOUR_NEYNAR_API_KEY",
"signerUuid": "YOUR_SIGNER_UUID"
}
EOFNote: is only required for posting casts. Get one via Neynar's signer management.
signerUuid- 从dev.neynar.com获取API密钥
- 创建配置文件:
bash
mkdir -p ~/.clawdbot/skills/neynar
cat > ~/.clawdbot/skills/neynar/config.json << 'EOF'
{
"apiKey": "YOUR_NEYNAR_API_KEY",
"signerUuid": "YOUR_SIGNER_UUID"
}
EOF注意:仅在发布动态(Cast)时需要。可通过Neynar的签名者管理功能获取。
signerUuidVerify Setup
验证配置
bash
scripts/neynar.sh user dwr.ethbash
scripts/neynar.sh user dwr.ethCore Concepts
核心概念
- FID — Farcaster ID, a permanent numeric identifier for each user
- Cast — A post on Farcaster (like a tweet)
- Channel — Topic-based feeds (like subreddits)
- Frame — Interactive mini-apps embedded in casts
- FID — Farcaster ID,每个用户的永久数字标识符
- Cast — Farcaster上的动态帖子(类似推文)
- Channel — 基于主题的动态流(类似Reddit子版块)
- Frame — 嵌入在Cast中的交互式迷你应用
Usage
使用方法
User Lookup
用户查询
bash
undefinedbash
undefinedBy username
通过用户名查询
scripts/neynar.sh user vitalik.eth
scripts/neynar.sh user vitalik.eth
By FID
通过FID查询
scripts/neynar.sh user --fid 5650
scripts/neynar.sh user --fid 5650
Multiple users
查询多个用户
scripts/neynar.sh users dwr.eth,v,jessepollak
undefinedscripts/neynar.sh users dwr.eth,v,jessepollak
undefinedRead Feed
读取动态流
bash
undefinedbash
undefinedUser's casts
用户发布的动态
scripts/neynar.sh feed --user dwr.eth
scripts/neynar.sh feed --user dwr.eth
Channel feed
频道动态流
scripts/neynar.sh feed --channel base
scripts/neynar.sh feed --channel base
Trending feed
热门动态流
scripts/neynar.sh feed --trending
scripts/neynar.sh feed --trending
Following feed (requires signer)
关注列表动态流(需要签名者)
scripts/neynar.sh feed --following
undefinedscripts/neynar.sh feed --following
undefinedSearch
搜索
bash
undefinedbash
undefinedSearch casts
搜索动态
scripts/neynar.sh search "ethereum"
scripts/neynar.sh search "ethereum"
Search users
搜索用户
scripts/neynar.sh search-users "vitalik"
scripts/neynar.sh search-users "vitalik"
Search in channel
在指定频道内搜索
scripts/neynar.sh search "onchain summer" --channel base
undefinedscripts/neynar.sh search "onchain summer" --channel base
undefinedGet Cast
获取动态
bash
undefinedbash
undefinedBy hash
通过哈希值获取
scripts/neynar.sh cast 0x1234abcd...
scripts/neynar.sh cast 0x1234abcd...
By URL
通过URL获取
scripts/neynar.sh cast "https://warpcast.com/dwr.eth/0x1234"
undefinedscripts/neynar.sh cast "https://warpcast.com/dwr.eth/0x1234"
undefinedPost Cast (requires signer)
发布动态(需要签名者)
bash
undefinedbash
undefinedSimple cast
发布简单动态
scripts/neynar.sh post "gm farcaster"
scripts/neynar.sh post "gm farcaster"
Reply to cast
回复动态
scripts/neynar.sh post "great point!" --reply-to 0x1234abcd
scripts/neynar.sh post "great point!" --reply-to 0x1234abcd
Cast in channel
在指定频道发布动态
scripts/neynar.sh post "hello base" --channel base
scripts/neynar.sh post "hello base" --channel base
Cast with embed
发布带嵌入内容的动态
scripts/neynar.sh post "check this out" --embed "https://example.com"
undefinedscripts/neynar.sh post "check this out" --embed "https://example.com"
undefinedReactions
互动操作
bash
undefinedbash
undefinedLike a cast
点赞动态
scripts/neynar.sh like 0x1234abcd
scripts/neynar.sh like 0x1234abcd
Recast
转发动态
scripts/neynar.sh recast 0x1234abcd
undefinedscripts/neynar.sh recast 0x1234abcd
undefinedFollow/Unfollow
关注/取消关注
bash
scripts/neynar.sh follow dwr.eth
scripts/neynar.sh unfollow dwr.ethbash
scripts/neynar.sh follow dwr.eth
scripts/neynar.sh unfollow dwr.ethAPI Reference
API参考
Endpoints Used
使用的接口
| Action | Endpoint | Auth |
|---|---|---|
| User lookup | | API key |
| User by FID | | API key |
| User feed | | API key |
| Channel feed | | API key |
| Trending | | API key |
| Search casts | | API key |
| Get cast | | API key |
| Post cast | | API key + Signer |
| React | | API key + Signer |
| Follow | | API key + Signer |
| 操作 | 接口地址 | 认证方式 |
|---|---|---|
| 用户查询 | | API密钥 |
| 通过FID查询用户 | | API密钥 |
| 用户动态流 | | API密钥 |
| 频道动态流 | | API密钥 |
| 热门动态 | | API密钥 |
| 搜索动态 | | API密钥 |
| 获取动态 | | API密钥 |
| 发布动态 | | API密钥 + 签名者 |
| 互动操作 | | API密钥 + 签名者 |
| 关注用户 | | API密钥 + 签名者 |
Response Format
响应格式
All responses are JSON. The script extracts key fields for readability:
json
{
"user": {
"fid": 3,
"username": "dwr.eth",
"display_name": "Dan Romero",
"follower_count": 450000,
"following_count": 2800,
"verified_addresses": ["0x..."]
}
}所有响应均为JSON格式。脚本会提取关键字段以提升可读性:
json
{
"user": {
"fid": 3,
"username": "dwr.eth",
"display_name": "Dan Romero",
"follower_count": 450000,
"following_count": 2800,
"verified_addresses": ["0x..."]
}
}Common Patterns
常见使用场景
Monitor a Channel
监控频道
bash
undefinedbash
undefinedGet latest casts from /base channel
获取/base频道的最新20条动态
scripts/neynar.sh feed --channel base --limit 20
undefinedscripts/neynar.sh feed --channel base --limit 20
undefinedFind Active Users
查找活跃用户
bash
undefinedbash
undefinedSearch for users by keyword
通过关键词搜索用户
scripts/neynar.sh search-users "ethereum developer"
undefinedscripts/neynar.sh search-users "ethereum developer"
undefinedCross-Post from Twitter
从Twitter跨平台发布
bash
undefinedbash
undefinedPost same content to Farcaster
将相同内容发布到Farcaster
scripts/neynar.sh post "gm, just shipped a new feature 🚀"
undefinedscripts/neynar.sh post "gm, just shipped a new feature 🚀"
undefinedReply to Mentions
回复提及
bash
undefinedbash
undefinedGet your notifications (requires signer)
获取你的通知(需要签名者)
scripts/neynar.sh notifications
scripts/neynar.sh notifications
Reply to specific cast
回复指定动态
scripts/neynar.sh post "thanks!" --reply-to 0xabc123
undefinedscripts/neynar.sh post "thanks!" --reply-to 0xabc123
undefinedError Handling
错误处理
| Error | Cause | Fix |
|---|---|---|
| 401 Unauthorized | Invalid API key | Check |
| 403 Forbidden | Signer required | Set up signer for write operations |
| 404 Not Found | User/cast doesn't exist | Verify username/hash |
| 429 Rate Limited | Too many requests | Wait and retry |
| 错误类型 | 原因 | 解决方法 |
|---|---|---|
| 401 未授权 | API密钥无效 | 检查 |
| 403 禁止访问 | 需要签名者 | 为写入操作配置签名者 |
| 404 未找到 | 用户/动态不存在 | 验证用户名/哈希值是否正确 |
| 429 请求受限 | 请求次数过多 | 等待后重试 |
Signer Setup
签名者配置
For write operations (posting, liking, following), you need a signer:
- Go to dev.neynar.com
- Create a new signer or use managed signer
- Add to your config
signerUuid
Managed signers are easiest — Neynar handles the key custody.
对于写入操作(发布动态、点赞、关注),你需要配置签名者:
- 访问dev.neynar.com
- 创建新签名者或使用托管签名者
- 将添加到你的配置文件中
signerUuid
托管签名者是最简单的选择——Neynar会处理密钥托管。
Rate Limits
请求速率限制
- Free tier: 300 requests/minute
- Paid tiers: Higher limits available
- Check header
X-RateLimit-Remaining
- 免费套餐:每分钟300次请求
- 付费套餐:更高的请求限制
- 可通过响应头查看剩余请求次数
X-RateLimit-Remaining
Best Practices
最佳实践
- Cache user lookups — FIDs don't change, usernames rarely do
- Use channels — Better reach than random posting
- Engage genuinely — Farcaster culture values authenticity
- Batch requests — Use bulk endpoints when possible
- Handle rate limits — Implement backoff
- 缓存用户查询结果 — FID不会更改,用户名极少变动
- 使用频道发布 — 比随机发布获得的曝光量更高
- 真诚互动 — Farcaster社区重视真实性
- 批量请求 — 尽可能使用批量接口
- 处理速率限制 — 实现退避重试机制
Resources
故障排查
—
API密钥无法使用
- Neynar Docs: https://docs.neynar.com
- API Reference: https://docs.neynar.com/reference
- Developer Portal: https://dev.neynar.com
- Farcaster Docs: https://docs.farcaster.xyz
bash
undefinedTroubleshooting
验证密钥是否有效
API Key Not Working
—
bash
undefinedcurl -H "x-api-key: YOUR_KEY"
"https://api.neynar.com/v2/farcaster/user/bulk?fids=1"
"https://api.neynar.com/v2/farcaster/user/bulk?fids=1"
undefinedVerify key works
签名者问题
curl -H "x-api-key: YOUR_KEY"
"https://api.neynar.com/v2/farcaster/user/bulk?fids=1"
"https://api.neynar.com/v2/farcaster/user/bulk?fids=1"
undefined- 确保签名者已被批准且处于活跃状态
- 检查签名者权限是否与你的FID匹配
- 托管签名者比自托管签名者更简单
Signer Issues
动态未显示
- Ensure signer is approved and active
- Check signer permissions match your FID
- Managed signers are simpler than self-hosted
- 动态会在几秒内传播,但索引可能需要更长时间
- 检查响应中的动态哈希值
- 直接在warpcast.com上验证动态状态
Cast Not Appearing
—
- Casts propagate in seconds, but indexing may take longer
- Check the cast hash in the response
- Verify on warpcast.com directly
—