Mercury Documentation
  • Get Started with Mercury
    • Pricing
    • Endpoints
    • Authentication
  • The Definitive Guide to Understanding The Mercury's Stack Vision
  • Retroshades
    • Introduction to Retroshades
    • Get Started
      • Importing the Retroshades SDK
      • Writing and Emitting Retroshades
      • Deploying to Mercury Retroshades
      • Querying Retroshades
  • Zephyr: Full Customization
    • Introduction
    • General concepts
      • Zephyr Programs
      • Accessing the Ledger: Contract Entries
      • Accessing the Ledger Meta: Contract Events
      • Database Interactions
      • Create Custom Callable APIs: Serverless Functions
      • Catchups
      • Using Soroban inside Zephyr
    • Quickstart
    • Learn
      • Introduction to Mercury's Cloud and the Zephyr Stack
      • Get Started: Set Up and Manage the Project
        • Create the Project
        • Writing the Program
        • Local Testing
        • Deploy
        • Data catchups/backfill
        • Monitor Execution
        • Querying
      • Database Interactions
        • Zephyr.toml: Define the Tables Structure
        • Understanding Database Interactions
        • Database Operations
      • Accessing the Ledger
      • Accessing Ledger Transition: Soroban Events
      • Working with Contract Custom Types
      • Working with Soroban SDK Types
      • Web Requests, Automation and Alerts.
      • Zephyr.toml Extensions: Indexes And Dashboard
      • Reading From Indexes/External Tables
      • Custom APIs - Serverless Functions
        • General Concepts
        • Custom RPC-alike Endpoints
        • Querying APIs for Composable Data
      • Data Catchups/Backfill
      • Custom Dashboards
        • Creating the Dashboard
        • Plotting: Simple
        • Complex Plotting
    • Support
  • Mercury "Classic"
    • Subscriptions
      • API Definition
    • Queries
      • Contract Events
      • Contract Data Entry Updates
      • Stellar Operations, Balances, and Account Objects
  • TUTORIALS
    • Zephyr
      • Self-hosting Zephyr
      • No-RPC Dapp
      • Indexing a DeFi liquidity pool (Blend)
      • Building a Secure DeFi Real-Time Bot Through Smart Accounts
      • Monitoring Large Deposits with Zephyr and Sending Web Alerts
    • Mercury Classic
      • Index and query contract events
Powered by GitBook
On this page
  • Querying from Mercury's Database
  • Accessing Publicly Indexed Data
  1. Zephyr: Full Customization
  2. General concepts

Database Interactions

PreviousAccessing the Ledger Meta: Contract EventsNextCreate Custom Callable APIs: Serverless Functions

Last updated 10 months ago

Zephyr programs can interact with Mercury's database, enabling you to write, read, and update the data structures you define within it during execution. To access these data structures, simply define your tables in the Zephyr.toml file (more practical information on this is available in the database interactions section).

Therefore, data will be indexed and stored in the database according to your specified logic, allowing you to query it from your client later on.

Querying from Mercury's Database

Once your data is indexed in the database tables, you have two options to query it:

  1. Utilize our GraphQL API, which offers standardized queries and returns data in base64 XDR format.

  2. Call a : these functions can be set up as custom API endpoints, and allow you to customize various aspects, including the response format.

Accessing Publicly Indexed Data

By default, Zephyr tables can be shared across programs. Creators will have the ability to control access to their tables using custom rules. This feature enables any program or custom dashboard to access indexed and live-updated data on Mercury.

Zephyr serverless function