Data providers available on Atlas: Maestro

As mentioned in the previous article, in order to build a transaction on Atlas you will need access to live blockchain data. For this reason, Atlas must be configured with a data provider to interface with Cardano.

Atlas supports multiple providers such as:

Details on how to configure a data provider for Atlas can be found in the official documentation.

In this article, we’ll have a closer look at a managed service provided by Maestro.

 

Maestro - Atlas Data Provider

Building and maintaining blockchain data provider can be a complex and time-consuming task, especially for developers who are new to blockchain technology. The Maestro data provider is powered by a performant blockchain indexer optimized for both liveliness and accuracy and available via an easy-to-use API.

 

By using Maestro’s Web3 APIs, developers can save time and resources that would have been spent developing a complex blockchain indexing pipeline. Maestro’s high-performance indexer offers enterprise-grade scalability, security, and reliability at a reduced cost. This can help accelerate the development process and allow developers to focus on building the core features of their DApps.

 

In the case of Atlas, it uses Maestro to retrieve the following on-chain information (see Maestro.hs):

  • fetchUtxosMultiAddress -  get all UTxOs controlled by each address from a list of addresses
  • getUtxoByRef - get UTxO information given a transaction output reference
  • getRefsAtAddress - get all UTxO references controlled by an address
  • findDatumByHash - get the datum value given by a datum hash
  • getCurrentSlot - get the current network slot
  • getEraHistory - get the blockchain era history
  • getProtocolParams - get the current protocol parameters
  • getSystemStart - get the network start time since genesis
  • getStakePools - get registered stake pool information
  • txSubmitPost - Submit a signed and serialized transaction to the network

 

Connecting Atlas to Maestro requires configuring the "config.json" file with a Maestro API key:

 

St ```
{

  "coreProvider": { "maestroToken": "<Your-API-Key>" },

  "networkId": "testnet-preprod",

  "logging": [{ "type": { "tag": "stderr" }, "severity": "Debug", "verbosity": "V2" }],

  "utxoCacheEnable": false

}

```

 

Free Maestro’s API key is available here.