Coinpaprika API Swift 客户端

Build Status codecov Version License Platform Carthage compatible Swift 5.0

文档 | 仓库 | 安装

用法

该库提供了一种在 Swift 中使用 Coinpaprika.com API 的便捷方法。

Coinpaprika 为加密货币世界提供完整的市场数据:代币价格、交易量、市值、历史最高价 (ATH)、回报率等等。

导入

市场统计

import Coinpaprika

Coinpaprika.API.global().perform { (response) in
  switch response {
    case .success(let stats):
    // Successfully downloaded GlobalStats
    // stats.marketCapUsd - Market capitalization in USD
    // stats.volume24hUsd - Volume from last 24h in USD
    // stats.bitcoinDominancePercentage - Percentage share of Bitcoin MarketCap in Total MarketCap
    // stats.cryptocurrenciesNumber - Number of cryptocurrencies available on Coinpaprika
    case .failure(let error):
    // Failure reason as error
  }
}

代币列表

import Coinpaprika

Coinpaprika.API.coins().perform { (response) in
  switch response {
    case .success(let coins):
    // Successfully downloaded [Coin]
    // coins[0].id - Coin identifier, to use in ticker(id:) method
    // coins[0].name - Coin name, for example Bitcoin
    // coins[0].symbol - Coin symbol, for example BTC
    case .failure(let error):
    // Failure reason as error
  }
}

所有代币的行情数据

import Coinpaprika

Coinpaprika.API.tickers(quotes: [.usd, .btc]).perform { (response) in
  switch response {
    case .success(let tickers):
    // Successfully downloaded [Ticker]
    // tickers[0] - see the next method for Ticker properties
    case .failure(let error):
    // Failure reason as error
  }
}

指定代币的行情数据

import Coinpaprika

Coinpaprika.API.ticker(id: "bitcoin-btc", quotes: [.usd, .btc]).perform { (response) in
  switch response {
    case .success(let ticker):
    // Successfully downloaded Ticker
    // ticker.id - Coin identifier, to use in ticker(id:) method
    // ticker.name - Coin name, for example Bitcoin
    // ticker.symbol - Coin symbol, for example BTC
    // ticker.rank - Position in Coinpaprika ranking (by MarketCap)
    // ticker.circulatingSupply - Circulating Supply
    // ticker.totalSupply - Total Supply
    // ticker.maxSupply - Maximum Supply
    // ticker.betaValue - Beta
    // ticker.lastUpdated - Last updated date
    //
    // Each Ticker could contain several Ticker.Quote (according to provided quotes parameter). To access to quote for given currency, use subscripting like:
    // - ticker[.usd] - Ticker.Quote in USD
    // - ticker[.btc] - Ticker.Quote in BTC
    // etc...
    //
    // So how to get this cryptocurrency price in USD and BTC?
    // - ticker[.usd].price - Coin price in USD
    // - ticker[.btc].price - Coin price in BTC
    //
    // Ticker.Quote contains following properties:
    // let currency: QuoteCurrency = .usd
    // - ticker[currency].price - Price
    // - ticker[currency].volume24h - Volume from last 24h
    // - ticker[currency].volume24hChange24h - Volume change in last 24h
    // - ticker[currency].marketCap - Market capitalization
    // - ticker[currency].marketCapChange24h - Market capitalization in last 24h
    // - ticker[currency].percentChange1h - Percentage price change in last 1 hour
    // - ticker[currency].percentChange12h - Percentage price change in last 12 hour
    // - ticker[currency].percentChange24h - Percentage price change in last 24 hour
    // - ticker[currency].percentChange7d - Percentage price change in last 7 days
    // - ticker[currency].percentChange30d - Percentage price change in last 30 days
    // - ticker[currency].percentChange1y - Percentage price change in last 1 year
    // - ticker[currency].athPrice - ATH price
    // - ticker[currency].athDate - ATH date
    // - ticker[currency].percentFromPriceAth - Percentage price change from ATH
    // - ticker[currency].volumeMarketCapRate - Volume/MarketCap rate
    case .failure(let error):
    // Failure reason as error
  }
}

搜索

import Coinpaprika

Coinpaprika.API.search(query: "bitcoin", categories: [.coins, .exchanges, .icos, .people, .tags], limit: 20).perform { (response) in
  switch response {
    case .success(let searchResults):
    // Successfully downloaded SearchResults
    // searchResults.currencies - list of matching coins as [Search.Coin]
    // searchResults.icos - list of matching ICOs as [Search.Ico]
    // searchResults.exchanges - list of matching exchanges as [Search.Exchange]
    // searchResults.people - list of matching people as [Search.Person]
    // searchResults.tags - list of matching tags as [Search.Tag]
    case .failure(let error):
    // Failure reason as error
  }
}

更多

可以在 CoinpaprikaAPI 参考 中找到其他端点。

安装

Swift Package Manager (SPM)

CoinpaprikaAPI 可以通过 SPM 获得。 要安装它,只需添加以下依赖项(例如,在 Xcode 11 内置管理器中)。

https://github.com/coinpaprika/coinpaprika-api-swift-client

Cocoapods

CoinpaprikaAPI 可以通过 CocoaPods 获得。 要安装它,只需将以下行添加到您的 Podfile 中

pod 'CoinpaprikaAPI'

运行 pod install 以将 CoinpaprikaAPI 与您的工作区集成。

Carthage

CoinpaprikaAPI 可以通过 Carthage 获得。 要安装它,只需将以下行添加到您的 Carthage 文件中

github "coinpaprika/coinpaprika-api-swift-client"  

运行 carthage update 以构建框架,并将构建的 CoinpaprikaAPI.framework 拖到您的 Xcode 项目中。

许可证

CoinpaprikaAPI 在 MIT 许可证下可用。 有关更多信息,请参见 LICENSE 文件。