We are in the process of performing a few upgrades that may impact your use of Blocktap. As a course of action we do not want to take outages or introduce breaking changes. However, during the Beta we may break these rules to get the platform ready for widespread adoption.

Outage on 2/1/2019

We are upgrading our core database server today and will be offline during this process. We expect the system to be back online by 4PM EST.

Currency Type Rename

We have renamed the Currency and Currencies types to Asset and Assets to improve the semantic meaning of these type. This includes changing currencyName and currencySymbol fields to assetName and assetSymbol.

For example, the query for a currency has changed from:

query {
  currency(currencySymbol: "BTC") {
    currencyName
    currencySymbol
  }
}

to

query {
  asset(assetSymbol: "BTC") {
    assetName
    assetSymbol
  }
}

Filter Restructuring

We have modified the structure of filters used for retrieving assets, exchanges, and markets. This structural change is necessary to support additional data sets that we will be adding to Blocktap in the near future. These changes add a new syntax that will allow for more robust filtering.

The new filtering option replaces the field_operation syntax, assetSymbol_in: ["BTC","LTC"], with a field + operator object, assetSymbol: {_in:["BTC","LTC"]}. This change makes the documentation simpler to view as the number of types and fields in Blocktap grows.

For example, when querying for assets that are cryptocurrencies the old syntax looked like:

query {
  assets(filter: { assetType_eq: Coin }) {
    assetName
    assetSymbol
  }
}

The new syntax looks like:

query {
    assets(filter: { assetType: {_eq: Coin}}) {
        assetName
        assetSymbol
    }
}

With this new syntax, we now introduce powerful nested filtering. For example, when filtering markets, you can filter on any property of an asset. The example below filters markets that are on the Binance exchange, have a base asset that has a positive 1-day social sentiment, and are quoted in Fiat:

query {
  markets(
    filter: {
      exchangeSymbol: { _eq: "Binance" }
      baseAsset: { sentiment: { score_1d: { _gt: 0 } } }
      quoteAsset: { assetType: Fiat }
    }
  ) {
    marketSymbol
    ticker {
      lastPrice
      percentChange
    }
  }
}

If you have any questions, please reach out to us on our Gitter:
https://gitter.im/altangent/blocktap