Zaino Workspace Documentation

Zaino consists of several crates that collectively provide an indexing service and APIs for the Zcash blockchain. The crates are modularized to separate concerns, enhance maintainability, and allow for flexible integration. This workspace includes the following crates:

  • Zainod
    • ZainoD is the main executable that runs the Zaino indexer gRPC service. It serves as the entry point for deploying the Zaino service, handling configuration and initialization of the server components.
  • Zainodlib
    • Library and utilities for ZainoD.
  • Zaino Fetch
    • Zaino-Fetch is a library that provides access to the mempool and blockchain data using Zebra's RPC interface. It is primarily used as a backup and for backward compatibility with systems that rely on RPC communication such as Zcashd.
  • Zaino State
    • Zaino-State is a library that provides access to the mempool and blockchain data by interfacing directly with Zebra's ReadStateService. It is designed for direct consumption by full node wallets and internal services. (Currently unimplemented.)
  • Zaino Serve
    • Zaino-Serve contains the gRPC server and the Rust implementations of the LightWallet gRPC service (CompactTxStreamerServer). It handles incoming client requests and interacts with backend services to fulfill them.
  • Zaino Testutils
    • The Zaino-Testutils and Integration-Tests crates are dedicated to testing the Zaino project. They provide utilities and comprehensive tests to ensure the correctness, performance, and reliability of Zaino's components.