不需要任何人的 API key。机器由你提供;Snapchain 读节点同步全网数据; Fiddy 客户端通过它读、也通过它写。然后是别家客户端都没有的那一段——孵化一个属于你自己的 Hermes agent,24 小时替你干活。
fiddy provision --gcp把机器开出来(推荐,已实测)——或用下方的 Cloud Shell 一键按钮;--ssh you@server 接上你手上任何一台服务器
fiddy node up在上面安装并同步一个 Snapchain 读节点
fiddy client up启动指向你自己节点的 Fiddy 客户端
拿到 CLI:git clone https://github.com/ivcained/fiddy && cd fiddy —— bin/fiddy 这个脚本就是整个工具。完整教程在下面。
Farcaster 是混合架构:身份在链上(OP Mainnet),数据在链下。 只有当安全性和一致性真正关键时才上链——创建账号、支付存储租金、注册密钥。所有社交内容—— cast、关注、点赞、头像——都是链下消息,由链上已知的一把密钥签名。
| 组件 | 它是什么 |
|---|---|
| FID | 你的账号编号,在链上铸给你的托管地址。你在链下做的每一件事都引用它。 |
| 托管地址 | 拥有你 FID 的那把以太坊密钥。主密钥。它授权其他所有东西,但日常完全不露面。 |
| 应用密钥(signer) | 一把 ed25519 密钥,客户端用它替你的 FID 签名消息。由你的托管地址授权,可随时吊销。"登录某个客户端"在底层说的就是这件事。 |
| Snapchain | 存放全部用户数据的点对点网络。验证者节点提议区块;读节点跟随、存储,并把 API 提供出去。 |
| 存储租金 | 一笔很小的链上付款,为你的 FID 买下写数据的权利。没有租金,就没有写入。(如果你用过 Farcaster,你的账号已经有存储。) |
读节点需要一台服务器:4 vCPU、16 GB 内存、1.5–2 TB 可用磁盘,Ubuntu 22.04+。 Snapchain 主网的快照大约 200 GB,那是压缩包的大小——解压后要占掉好几倍的盘,所以按 1.5–2 TB 规划,不要按 200 GB。AWS 上这套规格的目录价约 $285/月 (实例约 $121 + 2 TB gp3 约 $164);任何同等规格的 VPS 都能用,而且便宜得多—— 2 TB 的 Hetzner / Contabo / OVH 这一档通常 $50–80/月。
# 脚本化的 AWS 路径(需要先配好 aws CLI): fiddy provision --aws # 或者任何你已有的服务器: fiddy provision --ssh ubuntu@203.0.113.10
AWS 路径会创建一台 4 vCPU / 16 GB、带一块满足读节点存储需求的 gp3 磁盘的实例,
预装 Docker,生成一对 SSH 密钥放进 ~/.fiddy/,并把安全组收紧:SSH 和节点 API
只对你的 IP 开放;gossip 端口对全网保持开放(你的节点就是靠它们和同伴对话的)。
两条路径都会把目标写进 ~/.fiddy/config。
这一步在你的服务器上安装 Docker 和官方 Snapchain 启动脚本,然后开始同步。
从现在起你在运行一个读节点:它跟随链、保存完整状态,并把 HTTP
(:3381)和 gRPC(:3383)API 提供出去。
任何人都可以跑一个。不需要许可,不需要 API key。
fiddy node up # 安装、启动、等 API 开始应答 fiddy node status # 同步进度 fiddy node logs # 跟进节点日志 fiddy node dashboard # 通过 SSH 隧道打开 Grafana 面板(同步高度、节点连接、分片)→ localhost:3000
验证者节点提议区块并对区块投票;只有验证者集合里的密钥能这么做。读节点做其他所有事情——包括接收写入。
当你把消息 submitMessage 交给自己的读节点时,它会校验这条消息,并把它
gossip 给验证者节点——读节点自己没有内存池(mempool)。成功应答的含义是"合法、已接收待转发",
不是"已进区块"。要确认真的上链,盯一个 MERGE_MESSAGE 事件,或者把这条消息查回来。
网络拥挤时,被 gossip 出去的消息可能丢掉、需要重发;客户端也能退回到直接向验证者节点端点提交,
这个教程会在真正要紧的地方把两种选择的取舍讲清楚。
完整同步要几个小时;API 会立刻应答,然后在后台把历史追平。
启动 Fiddy 网页客户端,读和写都指向你自己的节点。如果你的节点 API 被锁在你的 IP 上
(AWS 路径的默认行为),加上 --tunnel,CLI 会为这次会话开一条 SSH 隧道。
fiddy client up --tunnel
登录 = 给客户端它自己的一把密钥。导入一个
已经有存储的账号的助记词。客户端推导出你的托管地址,并且只用它一次——签一条免 gas 的
KEY_ADD 消息,为客户端注册一把全新的 ed25519 应用密钥。不需要 Optimism 交易,
不需要 ETH,几秒确认。此后托管密钥就一直闲置,日常的 cast、关注、点赞都由应用密钥签名——
权限有范围、有条数上限,而且随时能在界面上用 KEY_REMOVE 吊销。
助记词就是你的托管地址,也就是你的 FID。任何拿到它的人都拥有这个账号。跟着本教程操作时, 只用测试账号。原则上,助记词只该粘贴进你信任的开发者写的、本地运行、源码公开的软件—— 这个仓库是 MIT,助记词从不离开你的浏览器,但这一点请你自己去核实;开源的意义正在于此。 只要条件允许,优先选择委托签名授权(在一个已经登录的客户端里批准一把应用密钥), 而不是导入助记词。
到这里客户端就完全是你的了:从你自己的节点读信息流、发 cast、关注、点赞, 并在视图设置里决定收不收其他客户端的 cast。
在客户端里点一下,就会在 Agent37 云上为你开一个专属 Hermes 实例—— 不是聊天机器人,而是一个有自己电脑、24 小时醒着的真 agent。它住在你的客户端里,在那儿和你对话, 并运行定时任务:"每天早上看看谁提到了我"、"起草我这周的复盘 cast"。
通过 Hermes,你的 Fiddy 能触达你用到的每一个渠道——每一个都要你明确批准:
你的 agent 在 Farcaster 上用自己的 FID 和它自己的免 gas 应用密钥行动—— 一眼看得出是 agent 的口吻,你随时可以吊销。它读的也是你刚立起来的那同一台节点: 整条链路端到端,看不见任何人的 API key。
| 问题 | 答案 |
|---|---|
| 要花 ETH 吗? | 不要。自 Snapchain V16 起,应用密钥是免 gas 的 KEY_ADD 消息。你需要的是一个已经付过存储租金的账号——仅此而已。 |
| 我的节点能接收 cast 吗? | 能——读节点会校验写入并 gossip 给验证者节点。它自己没有内存池,所以高负载下写入可能丢;盯 MERGE_MESSAGE 或把消息查回来,必要时重发。 |
| 应用密钥能做什么? | 只能做你给它划定的那几类消息(cast、点赞、关注、用户资料)。密钥最迟 90 天滑动过期,每个 FID 最多 1000 把,用 KEY_REMOVE 即刻吊销。 |
| 托管密钥放在哪? | 在你的浏览器里,只为那次 EIP-712 的 KEY_ADD 授权用一次,然后闲置。从不外发,也从不存到服务器上。 |
| 我依赖了谁? | 依赖你的算力供应商保证机器在线,以及 Snapchain 验证者集合出块——和每个客户端依赖的是同一批人。读、写、身份工具全都在你自己手里。 |