Cryptex 0.0.6

Cryptex 0.0.6

Sathyakumar Rajaraman 维护。



Cryptex 0.0.6

  • Sathyakumar Rajaraman、Mathias Klenk 和 Rob Saunders

Cryptex - Swift 4 的 iOS 加密货币 SDK

Swift 4.0 CocoaPods GitHub release Cocoapods Downloads Apps Github Commits Since last release badge-mit badge-platforms badge-pms

Cryptex 是一个单 Swift 4 库和一个 iOS 应用,能够跨多个加密货币交易所查看价格和实时账户余额。交易功能即将推出。

Sample App UI

需求

  • iOS 9.0+ | macOS 10.10+ | tvOS 9.0+ | watchOS 2.0+
  • Xcode 8.3+

集成

CocoaPods (iOS 9+, OS X 10.9+)

安装所有交易所

pod 'Cryptex', '~> 0.0.6'

仅安装一个交易所

pod 'Cryptex/Gemini', '~> 0.0.6'

安装两个或更多交易所

pod 'Cryptex', '~> 0.0.6', :subspecs => ['Gemini', 'GDAX', "Poloniex"]

Carthage (iOS 8+, OS X 10.9+)

github "trsathya/Cryptex" ~> 0.0.6

Swift 包管理器

dependencies: [
    .Package(url: "https://github.com/trsathya/Cryptex", from: "0.0.6"),
]

用法

初始化

import Cryptex
获取 coinmarketcap.com 全球数据
let coinMarketCapService = CoinMarketCap.Service(key: nil, secret: nil, session: URLSession.shared, userPreference: .USD_BTC, currencyOverrides: nil)
coinMarketCapService.getGlobal { (_) in
    if let data = coinMarketCapService.store.globalMarketDataResponse.globalData {
        print(data)
    }
}
控制台日志
GET https://api.coinmarketcap.com/v1/global
200 https://api.coinmarketcap.com/v1/global/
Response Data: {
    "total_market_cap_usd": 585234214361.0,
    "total_24h_volume_usd": 22202189284.0,
    "bitcoin_percentage_of_market_cap": 34.15,
    "active_currencies": 896,
    "active_assets": 567,
    "active_markets": 8187,
    "last_updated": 1517118863
}
Optional(Cryptex.CoinMarketCap.GlobalMarketData(marketCap: 585234214361, volume24Hrs: 22202189284, bitcoinDominance: 34.15, activeCurrencies: 896, activeAssets: 567, activeMarkets: 8187, lastUpdated: 1517118863))

获取 Gemini 公共标的数据
let geminiService = Gemini.Service(key: nil, secret: nil, session: URLSession.shared, userPreference: .USD_BTC, currencyOverrides: nil)
geminiService.getTickers { (_) in
    print(geminiService.store.tickerByName)
}
控制台日志
GET https://api.gemini.com/v1/symbols
200 https://api.gemini.com/v1/symbols
GET https://api.gemini.com/v1/pubticker/BTCUSD
GET https://api.gemini.com/v1/pubticker/ETHBTC
GET https://api.gemini.com/v1/pubticker/ETHUSD
200 https://api.gemini.com/v1/pubticker/ETHBTC
200 https://api.gemini.com/v1/pubticker/ETHUSD
200 https://api.gemini.com/v1/pubticker/BTCUSD
[
BTCUSD : 11721 USD,
ETHBTC : 0.0977 BTC,
ETHUSD : 1148.99 USD]

获取Gemini私人账户余额数据
let geminiService = Gemini.Service(key: <Your gemini account api key>, secret: <Your gemini account api secret>, session: URLSession.shared, userPreference: .USD_BTC, currencyOverrides: nil)
geminiService.getBalances { (_) in
    for balance in self.gemini.store.balances {
        print("\(balance) \(self.gemini.store.balanceInPreferredCurrency(balance: balance).usdFormatted ?? "")")
    }
}
控制台日志
GET https://api.gemini.com/v1/symbols
200 https://api.gemini.com/v1/symbols
GET https://api.gemini.com/v1/pubticker/BTCUSD
GET https://api.gemini.com/v1/pubticker/ETHBTC
GET https://api.gemini.com/v1/pubticker/ETHUSD
200 https://api.gemini.com/v1/pubticker/BTCUSD
200 https://api.gemini.com/v1/pubticker/ETHUSD
200 https://api.gemini.com/v1/pubticker/ETHBTC
POST https://api.gemini.com/v1/balances
200 https://api.gemini.com/v1/balances

BTC: 0.29182653 $3,420.49
USD: 26.96 $26.96
ETH: 0.00000017 $0.00

注意:在创建Binance服务时,传递一个货币覆盖数组以解决货币代码差异。这是因为Binance选择使用BCC代码表示比特币现金,而不是BCH。

let currencyOverrides = ["BCC": Currency(name: "Bitcoin Cash", code: "BCC")]
let binanceService = Binance.Service(key: key, secret: secret, session: session, userPreference: .USDT_BTC, currencyOverrides: currencyOverrides)