Zaino インデクサー
Zaino は、Zcash ブロックチェーン向けの Rust 製インデクサーです。Zebra フルノードからチェーンデータを読み取り、ウォレット、エクスプローラー、フォーセット、その他のサービスが必要とするデータを提供します。これにより、すべてのクライアント向けインデックスを Zebra 自体が担う必要はありません。
要約
- Zebra は Zcash チェーンを検証します。
- Zaino は Zebra のチェーンデータをインデックス化し、クライアント向け API を公開します。
- Zallet は Z3 スタックのウォレットコンポーネントです。標準の Z3 セットアップでは、Zallet は Zebra と直接通信するため、スタンドアロンの Zaino サービスは不要です。
- スタンドアロンの Zaino サービスは、運用者が lightwalletd 互換の gRPC エンドポイント、JSON-RPC プロキシ、またはライトウォレット、エクスプローラー、フォーセットなどのサービス向けインフラを必要とする場合に役立ちます。
- Zaino は稼働中のインフラですが、本番環境で実行する前に、運用者は最新のデプロイ詳細について公式の Zaino および Z3 のドキュメントを確認する必要があります。
Zaino の機能
Zaino は Zebra とクライアントソフトウェアの間に位置します。Zebra はコンセンサスノードです。Zcash ブロックチェーンをダウンロード、検証、追跡します。Zaino は Zebra をチェーンデータのソースとして使用し、クライアントアプリケーションが効率的にクエリできるインデックス済みビューを準備します。
この分離により、役割が明確に保たれます。
| コンポーネント | 役割 |
|---|
| Zebra | フルノードおよびバリデーター |
| Zaino | インデクサーおよびクライアント向け API サービス |
| Zallet | ウォレットサービス |
| lightwalletd | Zaino が置き換える、または補完するよう設計された旧来のライトウォレットサーバー |
Zaino は、ライトクライアント、フルクライアントまたはウォレット、ブロックエクスプローラー向けの機能を提供します。Zebra が保持する、確定済みチェーン、未確定のベストチェーン、メンプールデータにアクセスできます。
現在の Zcash スタックにおける位置付け
現在の Z3 スタックは、Zebra、Zallet、およびオプションの Zaino を中心に構築されています。
標準の Z3 デプロイメントでは、Zebra と Zallet が共に実行されます。Zallet は Zebra に直接アクセスするため、ローカルのウォレットスタックのみを実行する運用者は、スタンドアロンの Zaino サービスを起動する必要はありません。
Zaino は、運用者が外部クライアントにサービスを提供したい場合に追加されます。Z3 では、indexer Compose プロファイルの背後で実行され、以下を追加します。
- ライトウォレットクライアント向けの lightwalletd 互換 gRPC エンドポイント
- エクスプローラー、フォーセット、サービスバックエンド向けの JSON-RPC プロキシ
- Zebra のチェーン状態とは分離されたインデクサーデータベース
このため、Zaino は特に、ウォレットバックエンド、パブリックインフラの運用者、エクスプローラー、フォーセット、そしてインデックス化された Zcash チェーンデータを必要とするサービスをテストする開発者にとって重要です。
Zaino と lightwalletd
lightwalletd は元祖ライトウォレットサーバーです。Zaino は、この役割を担う Rust ベースの後継パスです。その目標は、可能な限り互換性のある API を提供し、ウォレットやサービスが一度に全面的な書き直しをせずに移行できるようにすることです。
これは、すべての lightwalletd デプロイメントがすでに Zaino に移行したことを意味するものではありません。運用者は Zaino を現在の Zebra ベースのスタックの一部として扱い、実行するものを選択する前に、最新のプロジェクトドキュメント、リリース、サービスダッシュボードを確認する必要があります。
運用者向けメモ
最も簡単で信頼できるデプロイ手順は Z3 リポジトリです。Z3 には、オプションサービスとして Zaino が含まれています。
Code-highlight
docker compose --env-file .env.<network> --profile indexer up -d
まず通常の Z3 セットアップを実行し、mainnet または testnet で依存サービスを起動する前に、Zebra の同期が完了するまで待ってください。
Zaino は、2 種類のネットワークサービスを公開します。gRPC サービスはライトウォレット向け API です。JSON-RPC サービスは、外部レイヤーによる保護がない限り、ループバックまたは信頼できるプライベートネットワーク向けです。認証も暗号化もされていない JSON-RPC エンドポイントをパブリックインターネットに公開しないでください。
Zaino の動作を示す図
Zaino の内部アーキテクチャ

Zaino のライブサービスアーキテクチャ

Zaino のシステムアーキテクチャ

よくある間違い
Zaino をフルノードとして扱うこと。 Zaino はバリデーターではありません。Zebra がチェーンを検証し、Zaino が Zebra からのデータをインデックス化します。
すべての Z3 デプロイメントでスタンドアロンの Zaino が必要だと考えること。 標準の Z3 スタックでは、Zallet は Zebra に直接アクセスできます。外部クライアント向けにスタンドアロンのインデクサーサービスが必要な場合に Zaino を起動してください。
計画中の機能を、すでにデプロイ済みであるかのように提示すること。 Zaino は活発に開発されているため、機能を利用可能と説明する前に、最新のリリースノートとドキュメントを確認してください。
JSON-RPC を不用意に公開すること。 Zaino の JSON-RPC インターフェースは、別のレイヤーで保護されていない限り、ループバックまたは信頼できるプライベートネットワーク向けです。
どこで詳しく学べますか?
最終更新: 2026年8月