测试网节点教程系列 8:Farcaster

测试网节点教程系列 8:Farcaster
Photo by Mike Hindle / Unsplash

本系列之前的教程请见:https://forum.hammerplease.uk/t/topic/99

一不小心才发现自己已经停更了好几个月了 23333 有些惭愧,对不起自己早几个月前的雄心壮志。但不管怎么说,keep moving 吧。

这次给大家带来的是 farcast 的节点搭建教程。farcaster 如果还不知道的人需要了解和玩一下,这个项目现在已经很活跃+成熟。可以通过我的邀请链接加入:https://warpcast.com/~/invite-page/317724?id=b50abc3c

根据 TechCrunch 的报道,这个项目拿了 150M 的投资(非常豪华了),日活有 80k。

Farcaster, a crypto-based social network, raised $150M with just 80K daily users | TechCrunch
Farcaster, a blockchain-based social protocol founded by two Coinbase alumni, announced on Tuesday that it closed a $150 million fundraise. Led by

Backers & Investors 可以见下面这篇文章的说明:

💥 Don’t Ignore Warpcast by Farcaster Airdrop | Backed by Coinbase & a16z Earn Upto $5k, Hurry up…
Farcaster is a skin-in-the-game social network that’s not just about what you say but also about what you can prove on-chain. Anyone can build a client application to broadcast messages on the…

首先查看自己的服务器是否符合要求:

  • 16 GB of RAM
  • 4 CPU cores or vCPUs
  • 140 GB of free storage
  • A public IP address with ports 2282 - 2285 exposed

关于存储可能不止 140 GB 我还没同步完已经用了 138 GB。内存和 CPU 没有太大的问题。

我本想参考 xiaorun 的教程完成搭建的,但是发现中途出现了故障。但因为发生的太快所以我没有记录下来。

我会推荐直接使用官方的傻瓜教程直接安装:

curl -sSL https://download.thehubble.xyz/bootstrap.sh | bash

本质上这个脚本也是利用了 docker 来启动了,所以需要提前在自己的机器上面安装好 docker。而安装 docker 的话我也推荐直接使用官方的傻瓜脚本:

curl -sSL https://get.docker.com | bash

启动之后会有交互命令提示输入主网的 RPC 和 Optimism 的 RPC,我直接使用了 Alchemy,没有的话可以在这边注册:https://dashboard.alchemy.com/ 提供的免费额度已经完全足够日常使用了。

然后会要求输入 farcast 的 用户 ID ,这个在自己的 warpcast 点菜单 关于里面就可以获取到。

然后就可以看到日志提示在下载 snapshot。另外需要注意如果端口(2283)没有开通的话会报错重新再开始下载和解压操作,所以建议还是在有公网的机器上操作。

然后打开机器 ip 对应的 3000 端口就能看到 grafana 的监控已经在同步中:

当前要到 446,xxxx 才能完成 sync,所以耐心等候就行。

到这里这个教程就完了。


2024.07.23 更新

今天发现 grafana 打不开了 没有指标数据 我一直以为可能是资源加载的问题 但实际上应该是 hubble 挂了一段时间了,查看日志是这样:

hubble-1   | {"message":"Err {\n  error: HttpRequestError: HTTP request failed.\n  \n  Status: 403\n  URL: https://eth-mainnet.g.alchemy.com/v2/xxxxxxxx\n  Request body: {\"method\":\"eth_chainId\"}\n  \n  Details: {\"code\":-32600,\"message\":\"The team owning this app is inactive. Please contact support at https://dashboard.alchemyapi.io/support\"}\n  Version: viem@1.12.2\n      at Object.http (file:///home/node/app/node_modules/viem/utils/rpc.ts:116:13)\n      at processTicksAndRejections (node:internal/process/task_queues:95:5)\n      at fn (file:///home/node/app/node_modules/viem/clients/transports/http.ts:95:18)\n      at request (file:///home/node/app/node_modules/viem/clients/transports/http.ts:97:39)\n      at withRetry.delay.count.count (file:///home/node/app/node_modules/viem/utils/buildRequest.ts:69:18)\n      at attemptRetry (file:///home/node/app/node_modules/viem/utils/promise/withRetry.ts:34:22) {\n    details: '{\"code\":-32600,\"message\":\"The team owning this app is inactive. Please contact support at https://dashboard.alchemyapi.io/support\"}',\n    docsPath: undefined,\n    metaMessages: [\n      'Status: 403',\n      'URL: https://eth-mainnet.g.alchemy.com/v2/xxxxxxx',\n      'Request body: {\"method\":\"eth_chainId\"}'\n    ],\n    shortMessage: 'HTTP request failed.',\n    version: 'viem@1.12.2',\n    body: { method: 'eth_chainId', params: undefined },\n    headers: Headers {\n      date: 'Tue, 23 Jul 2024 06:08:42 GMT',\n      'content-type': 'application/json',\n      'transfer-encoding': 'chunked',\n      connection: 'keep-alive',\n      'cf-ray': '8a797f576f658d7d-HEL',\n      'cf-cache-status': 'DYNAMIC',\n      'access-control-allow-origin': '*',\n      'access-control-allow-credentials': 'true',\n      'x-alchemy-trace-id': '566a1d39bfde62b5ad34b8992802247d',\n      vary: 'Accept-Encoding',\n      'set-cookie': '_cfuvid=G2aIxEQkb0WFgGS5WwMWy6PfF.fv1tBYitHfkb6q95g-1721714922284-0.0.1.1-604800000; path=/; domain=.g.alchemy.com; HttpOnly; Secure; SameSite=None',\n      server: 'cloudflare',\n      'content-encoding': 'gzip'\n    },\n    status: 403,\n    url: 'https://eth-mainnet.g.alchemy.com/v2/vuV2Lnbm4S7IYGtfrM_sBEKnOYX62Yo0'\n  }\n}\n","timestamp":"2024-07-23T06:08:42.295Z","type":"out","process_id":0,"app_name":"hubble"}

似乎是最近 alchemy 做了什么调整,导致很早之前的 App URL 连接失效了。查看控制台日志可以看到都是失败的 reqeust:

解决方法也很简单 直接使用 publicnode(可能相对慢和不稳定一些)替换掉 hubble 中的这两个参数:

ETH_MAINNET_RPC_URL=https://ethereum-rpc.publicnode.com
OPTIMISM_L2_RPC_URL=https://optimism-rpc.publicnode.com

然后 docker compose up -d 重新启动即可。

以及在升级过程中我发现了很有意思的声明:

所以大概率是不会有任何回报啦。有机器的话就留着,没机器的话就删了回收了吧。

参考

Buidl Farcaster Hub Node Operator
1. Invite to Farcaster https://warpcast.com/~/invite-page/273889?id=15d8f0a8 2. Find Farcaster FID Profile -> More button -> About -> Copy FID 3. Installation git clone -c advice.detachedHead=false -b @latest https://github.com/farcasterxyz/hub-monorepo.git docker compose run hu…
Installation | Hubble
Documentation for Hubble

Read more

【待续】关于翻墙的一些笔记

【待续】关于翻墙的一些笔记

工具推荐? 主要推荐Loon(Loon 打钱!): Powerful Network Toolbox for iOS & tvOS | Powerful Network Toolbox for iOS & tvOSEmploying Loon for effortless and secure Internet browsing by overseeing, administrating, and refining the entire device network.Loon 推荐理由大概是: * 便宜,人民币 50 左右 * Surge 表示不服。我穷是我的问题,但是我可以选择不用 Surge 我就没问题了。 * 一次购买 * Surge 再次表示不服。我能理解持续的开发存在人力的成本所以

By HammerBoss
测试网节点教程系列 10:Chasm Network

测试网节点教程系列 10:Chasm Network

也是朋友告诉我的项目,看到 exploring.eth 老师也发了。 官方网站:https://www.chasm.net/#product 网页做的很好看很高级 逻辑也很简单 就是众包 groq 出去给调用方,以此获取收益。官方确认一定会有空投。 官方文档写的很好,基本上对照着就能完成操作。这边简单介绍一下。 首先准备好机器 可以参考下面这篇购买对应的服务器和安装好 docker。官方推荐 2C4G 但我感觉 1C2G 都足够。 测试网节点教程系列 1 —— 准备工作设备 我的设备有 * Macbook Pro M1 Pro * Macbook Pro M1 * Windows 11 * Linux server(s) 考虑到很多读者的环境、经验、操作步骤、各种变量因素都会存在很多差异,每个人碰到的情况或者问题都也存在一些差异,

By HammerBoss
测试网教程合集

测试网教程合集

因为测试网相关的教程有点多 而且总是要跳转到另外地方看也并不方便,这边做一个集锦,收集一下目前写的所有测试网教程相关的文章。 测试网节点教程系列 1 —— 准备工作 测试网节点教程系列 2 —— Titan Network 测试网节点教程系列 3 —— Meson Network 测试网节点教程系列 4 —— Taiko 测试网节点教程系列 5 —— Avail Network 测试网节点教程系列 6 —— Quilibrium Network 测试网节点教程系列 7 —— io.net 测试网节点教程系列 8:Farcaster 测试网节点教程系列 9:ZKPool+ZKRush 测试网节点教程系列 10:Chasm Network

By HammerBoss