Skip to content

Releases: Gero-Labs/maestro-java-client

v1.0.0

04 Aug 14:52

Choose a tag to compare

🎉 Maestro Java Client v1.0.0 - Initial Release

We are excited to announce the first stable release of the Maestro Java Client! This library provides a comprehensive, type-safe Java interface for interacting with the Maestro
blockchain indexer APIs for Cardano.

✨ Features

🚀 Core Functionality

  • Type-safe API access with strongly-typed models for all Maestro endpoints
  • Comprehensive API coverage including accounts, addresses, assets, blocks, transactions, pools, and more
  • Built-in pagination support with flexible query options
  • Multi-network support for Mainnet, Preprod, and Preview networks
  • Advanced error handling with automatic retry mechanisms
  • GZIP compression for improved performance
  • Configurable timeouts and retry policies
  • Environment-based configuration for easy deployment

📦 Service Coverage

  • Accounts API - Stake account information, rewards, history, delegations
  • Addresses API - Address details, UTXOs, transactions
  • Assets API - Native assets, tokens, NFTs metadata
  • Blocks API - Block information and transactions
  • Datum API - Script datum values
  • DEX API - Decentralized exchange data
  • Epochs API - Epoch information and parameters
  • General API - Chain info and protocol parameters
  • Pools API - Stake pool information and delegators
  • Policies API - Minting policies and assets
  • Scripts API - Smart contract scripts
  • Transactions API - Transaction details and submission

📋 Requirements

  • Java 11 or higher
  • Maven or Gradle build system

🚀 Getting Started

Maven

<dependency>
    <groupId>io.github.gero-labs</groupId>
    <artifactId>maestro-java-client</artifactId>
    <version>1.0.0</version>
</dependency>

Gradle

implementation 'io.github.gero-labs:maestro-java-client:1.0.0'

Quick Example

  import adlabs.maestro.client.backend.factory.BackendFactory;
  import adlabs.maestro.client.backend.factory.BackendService;

  // Initialize client
  String apiKey = "your-maestro-api-key";
  BackendService maestroService = BackendFactory.getMaestroMainnetService(apiKey);

  // Query account information
  Result<TimestampedAccountInfo> result = maestroService.getAccountService()
      .getAccountInfo("stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc", Options.EMPTY);

  if (result.isSuccessful()) {
      System.out.println("Total Balance: " + result.getValue().getData().getTotalBalance());
  }

📚 Documentation

🙏 Acknowledgments

Special thanks to:

  • The https://www.gomaestro.org/ team for providing excellent blockchain indexing services
  • All contributors who helped shape this initial release
  • The Cardano developer community for their feedback and support

🐛 Support


Full Changelog: https://github.com/Gero-Labs/maestro-java-client/commits/v1.0.0