blockfrost 1.0.0-dev.1 copy "blockfrost: ^1.0.0-dev.1" to clipboard
blockfrost: ^1.0.0-dev.1 copied to clipboard

outdated

Dart OpenAPI API blockfrost client based on Dio 4.x

blockfrost (EXPERIMENTAL) #

Blockfrost is an API as a service that allows users to interact with the Cardano blockchain and parts of its ecosystem.

Author Notes #

This document is a code generation artifact, refer to NOTES for usage tips, issues and implementation notes.

Authentication #

After signing up on https://blockfrost.io, a project_id token is automatically generated for each project. HTTP header of your request MUST include this project_id in order to authenticate against Blockfrost servers.

Available networks #

At the moment, you can use the following networks. Please, note that each network has its own project_id.

NetworkEndpoint
Cardano mainnethttps://cardano-mainnet.blockfrost.io/api/v0
Cardano testnethttps://cardano-testnet.blockfrost.io/api/v0
InterPlanetary File Systemhttps://ipfs.blockfrost.io/api/v0

Concepts #

  • All endpoints return either a JSON object or an array.
  • Data is returned in ascending (oldest first, newest last) order.
    • You might use the ?order=desc query parameter to reverse this order.
  • By default, we return 100 results at a time. You have to use ?page=2 to list through the results.
  • All time and timestamp related fields are in milliseconds of UNIX time.
  • All amounts are returned in Lovelaces, where 1 ADA = 1 000 000 Lovelaces.
  • Addresses, accounts and pool IDs are in Bech32 format.
  • All values are case sensitive.
  • All hex encoded values are lower case.
  • Examples are not based on real data. Any resemblance to actual events is purely coincidental.
  • We allow to upload files up to 100MB of size to IPFS. This might increase in the future.

Errors #

HTTP Status codes #

The following are HTTP status code your application might receive when reaching Blockfrost endpoints and it should handle all of these cases.

  • HTTP 400 return code is used when the request is not valid.
  • HTTP 402 return code is used when the projects exceed their daily request limit.
  • HTTP 403 return code is used when the request is not authenticated.
  • HTTP 404 return code is used when the resource doesn't exist.
  • HTTP 418 return code is used when the user has been auto-banned for flooding too much after previously receiving error code 402 or 429.
  • HTTP 429 return code is used when the user has sent too many requests in a given amount of time and therefore has been rate-limited.
  • HTTP 500 return code is used when our endpoints are having a problem.

Error codes #

An internal error code number is used for better indication of the error in question. It is passed using the following payload.

{
  \"status_code\": 403,
  \"error\": \"Forbidden\",
  \"message\": \"Invalid project token.\"
}

Limits #

There are two types of limits we are enforcing. The first depends on your plan and is the number of request we allow per day. We defined the day from midnight to midnight of UTC time. The second is rate limiting, where we limit an end user to 10 requests per second after a period of 5 second burst. We believe this should be sufficient for most of the use cases. If it is not and you have a specific use case, please get in touch with us, and we will make sure to take it into account as much as we can.

Authentication #

This Dart package is automatically generated by the OpenAPI Generator project:

  • API version: 0.1.9
  • Build package: org.openapitools.codegen.languages.DartDioNextClientCodegen For more information, please visit https://blockfrost.io

Requirements #

  • Dart 2.12.0 or later OR Flutter 1.26.0 or later
  • Dio 4.0.0+
  • timemachine option currently DOES NOT support sound null-safety and may not work

Installation & Usage #

Github #

If this Dart package is published to Github, please include the following in pubspec.yaml

name: blockfrost
version: 1.0.0
description: OpenAPI API client
dependencies:
  blockfrost:
    git: https://github.com/GIT_USER_ID/GIT_REPO_ID.git
      version: 'any'

Local #

To use the package in your local drive, please include the following in pubspec.yaml

dependencies:
  blockfrost:
    path: /path/to/blockfrost

Getting Started #

Please follow the installation procedure and then run the following:

import 'package:blockfrost/blockfrost.dart';


final api = CardanoAccountsApi();
final stakeAddress = stake1u9ylzsgxaa6xctf4juup682ar3juj85n8tx3hthnljg47zctvm3rc; // String | Bech32 stake addresses
final count = 56; // int | The number of results displayed on one page.
final page = 56; // int | The page number for listing the results.
final order = order_example; // String | The ordering of items from the point of view of the blockchain, not the page listing itself. By default, we return oldest first, newest last. 

try {
    final response = await api.accountsStakeAddressAddressesGet(stakeAddress, count, page, order);
    print(response);
} catch on DioError (e) {
    print("Exception when calling CardanoAccountsApi->accountsStakeAddressAddressesGet: $e\n");
}

Documentation for API Endpoints #

All URIs are relative to https://cardano-mainnet.blockfrost.io/api/v0

Class Method HTTP request Description
CardanoAccountsApi accountsStakeAddressAddressesGet get /accounts/{stake_address}/addresses Account associated addresses
CardanoAccountsApi accountsStakeAddressDelegationsGet get /accounts/{stake_address}/delegations Account delegation history
CardanoAccountsApi accountsStakeAddressGet get /accounts/{stake_address} Specific account address
CardanoAccountsApi accountsStakeAddressHistoryGet get /accounts/{stake_address}/history Account history
CardanoAccountsApi accountsStakeAddressRegistrationsGet get /accounts/{stake_address}/registrations Account registration history
CardanoAccountsApi accountsStakeAddressRewardsGet get /accounts/{stake_address}/rewards Account reward history
CardanoAddressesApi addressesAddressGet get /addresses/{address} Specific address
CardanoAddressesApi addressesAddressTotalGet get /addresses/{address}/total Address' details
CardanoAddressesApi addressesAddressTxsGet get /addresses/{address}/txs Address' transactions
CardanoAddressesApi addressesAddressUtxosGet get /addresses/{address}/utxos Address' UTXOs
CardanoAssetsApi assetsAssetAddressesGet get /assets/{asset}/addresses Asset addresses
CardanoAssetsApi assetsAssetGet get /assets/{asset} Specific asset
CardanoAssetsApi assetsAssetHistoryGet get /assets/{asset}/history Asset history
CardanoAssetsApi assetsAssetTxsGet get /assets/{asset}/txs Asset transactions
CardanoAssetsApi assetsGet get /assets Assets
CardanoAssetsApi assetsPolicyPolicyIdGet get /assets/policy/{policy_id} Assets of a specific policy
CardanoBlocksApi blocksHashOrNumberGet get /blocks/{hash_or_number} Specific block
CardanoBlocksApi blocksHashOrNumberNextGet get /blocks/{hash_or_number}/next Listing of next blocks
CardanoBlocksApi blocksHashOrNumberPreviousGet get /blocks/{hash_or_number}/previous Listing of previous blocks
CardanoBlocksApi blocksHashOrNumberTxsGet get /blocks/{hash_or_number}/txs Block transactions
CardanoBlocksApi blocksLatestGet get /blocks/latest Latest block
CardanoEpochsApi epochsLatestGet get /epochs/latest Latest epoch
CardanoEpochsApi epochsNumberBlocksGet get /epochs/{number}/blocks Block distribution
CardanoEpochsApi epochsNumberBlocksPoolIdGet get /epochs/{number}/blocks/{pool_id} Block distribution
CardanoEpochsApi epochsNumberGet get /epochs/{number} Specific epoch
CardanoEpochsApi epochsNumberNextGet get /epochs/{number}/next Listing of next epochs
CardanoEpochsApi epochsNumberParametersGet get /epochs/{number}/parameters Protocol parameters
CardanoEpochsApi epochsNumberPreviousGet get /epochs/{number}/previous Listing of previous epochs
CardanoEpochsApi epochsNumberStakesGet get /epochs/{number}/stakes Stake distribution
CardanoEpochsApi epochsNumberStakesPoolIdGet get /epochs/{number}/stakes/{pool_id} Stake distribution by pool
CardanoLedgerApi genesisGet get /genesis Blockchain genesis
CardanoMetadataApi metadataTxsLabelsGet get /metadata/txs/labels Transaction metadata labels
CardanoMetadataApi metadataTxsLabelsLabelCborGet get /metadata/txs/labels/{label}/cbor Transaction metadata content in CBOR
CardanoMetadataApi metadataTxsLabelsLabelGet get /metadata/txs/labels/{label} Transaction metadata content in JSON
CardanoPoolsApi poolsGet get /pools/ List of stake pools
CardanoPoolsApi poolsPoolIdBlocksGet get /pools/{pool_id}/blocks Stake pool blocks
CardanoPoolsApi poolsPoolIdDelegatorsGet get /pools/{pool_id}/delegators Stake pool delegators
CardanoPoolsApi poolsPoolIdGet get /pools/{pool_id} Specific stake pool
CardanoPoolsApi poolsPoolIdHistoryGet get /pools/{pool_id}/history Stake pool history
CardanoPoolsApi poolsPoolIdMetadataGet get /pools/{pool_id}/metadata Stake pool metadata
CardanoPoolsApi poolsPoolIdRelaysGet get /pools/{pool_id}/relays Stake pool relays
CardanoPoolsApi poolsPoolIdUpdatesGet get /pools/{pool_id}/updates Stake pool updates
CardanoPoolsApi poolsRetiredGet get /pools/retired List of retired stake pools
CardanoPoolsApi poolsRetiringGet get /pools/retiring List of retiring stake pools
CardanoTransactionsApi txSubmitPost post /tx/submit Submit a transaction
CardanoTransactionsApi txsHashDelegationsGet get /txs/{hash}/delegations Transaction delegation certificates
CardanoTransactionsApi txsHashGet get /txs/{hash} Specific transaction
CardanoTransactionsApi txsHashMetadataCborGet get /txs/{hash}/metadata/cbor Transaction metadata in CBOR
CardanoTransactionsApi txsHashMetadataGet get /txs/{hash}/metadata Transaction metadata
CardanoTransactionsApi txsHashPoolRetiresGet get /txs/{hash}/pool_retires Transaction stake pool retirement certificates
CardanoTransactionsApi txsHashPoolUpdatesGet get /txs/{hash}/pool_updates Transaction stake pool registration and update certificates
CardanoTransactionsApi txsHashStakesGet get /txs/{hash}/stakes Trasanction stake addresses certificates
CardanoTransactionsApi txsHashUtxosGet get /txs/{hash}/utxos Transaction UTXOs
CardanoTransactionsApi txsHashWithdrawalsGet get /txs/{hash}/withdrawals Transaction withdrawal
HealthApi healthClockGet get /health/clock Current backend time
HealthApi healthGet get /health Backend health status
HealthApi rootGet get / Root endpoint
IPFSAddApi ipfsAddPost post /ipfs/add Add a file or directory to IPFS
IPFSGatewayApi ipfsGatewayIPFSPathGet get /ipfs/gateway/{IPFS_path} Relay to an IPFS gateway
IPFSPinsApi ipfsPinAddIPFSPathPost post /ipfs/pin/add/{IPFS_path} Pin an object
IPFSPinsApi ipfsPinListGet get /ipfs/pin/list/
IPFSPinsApi ipfsPinListIPFSPathGet get /ipfs/pin/list/{IPFS_path}
IPFSPinsApi ipfsPinRemoveIPFSPathPost post /ipfs/pin/remove/{IPFS_path}
MetricsApi metricsEndpointsGet get /metrics/endpoints Blockfrost endpoint usage metrics
MetricsApi metricsGet get /metrics/ Blockfrost usage metrics

Documentation For Models #

Documentation For Authorization #

ApiKeyAuth #

  • Type: API key
  • API key parameter name: project_id
  • Location: HTTP header

Author #

contact@blockfrost.io

12
likes
0
pub points
49%
popularity

Publisher

unverified uploader

Dart OpenAPI API blockfrost client based on Dio 4.x

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

built_collection, built_value, dio

More

Packages that depend on blockfrost