GDAXKit 0.0.8

GDAXKit 0.0.8

Steve Wight维护。



GDAXKit 0.0.8

  • Steve Wight

GDAXKit

用于访问💰gdax.com的*💰公共市场数据,通过REST 市场数据 API和实时 Websocket Feed

入门指南

Gdax.com是“最值得信赖的数字资产交易所”,并为一些最大的💵加密货币提供广泛的实时市场数据API💵

文档

查看API文档以了解公开数据的概述和更多信息。

注意:GDAXKit目前只提供公开数据,不允许访问需要身份验证的端点或WebSocket。

用法

根据您要访问的数据,您将使用两个客户端对象之一。使用MarketClient访问市场数据的快照,以及使用SocketClient访问订单和交易的实时市场数据更新。

市场数据API(MarketClient)

// Initialize a client
let client = MarketClient()

// Call one of the public endpoint methods
client.products { products, result in
	// Check if our call was a success or failure
	switch result {
	case .success(_):
		// Do stuff with the provided products
	case .failure(let error):
		// Handle the error
	}
}

要获取历史数据,您可以使用GDAXKit提供的DateRangeGranularity枚举。

let pid = "BTC-USD"
let range = DateRange.fiveDays
let granularity = Granularity.oneHour

client.historic(pid:pid, range:range, granularity:granularity) { candles, result in
	switch result {
	case .success(_):
		// Do stuff with the provided candles
	case .failure(let error):
		// Handle error
	}
}

所有MarketClient方法都接受一个闭包来处理返回的对象。

MarketClient的公共接口

套接字消息推送(SocketClient)

要访问WebSocket的实时更新,请遵循SocketClientDelegate协议方法。

extension MyViewController: SocketClientDelegate {
	func socketClientConnected() { /.../ }
	func socketClientDisconnected() { /.../ }
	func socketClientTick(_ tick:SocketTicker)
  	func socketClientHeartbeat(_ heartbeat:Heartbeat)
   	func socketClientError(_ error:SocketError)
}

SocketClientDelegate方法生命周期

当客户端首次成功连接到位于wss://ws-feed.gdax.com的socket时,将调用socketClientConnected方法。

根据被调用的SocketClient方法,将开始调用socketClientTicksocketClientHeartbeat代理方法。每当套接字遇到错误时,将调用socketClientError方法。

最后,当与套接字的连接结束时,将调用socketClientDisconnected方法。

初始化Websocket通信

要开始socket流,通过传入我们的代理对象初始化SocketClient。一旦初始化了SocketClient,并实现了上述的SocketClientDelegate方法,调用其中一个启动流的方法。

class MyViewController: UIViewController {
	let socketClient:SocketClient!
	
	override func viewDidLoad() {
		// Use Products you want data for, from client.loadProducts
		let products = /... Product array from MarketClient .../
	
		// Initialize SocketClient and pass self as delegate
		socketClient = SocketClient(delegate:self)
		
		// Start Our ticker stream
		socketClient.startTickerStream(products: products)
		
		// Our delegate methods will now get called as necessary
	}
}

SocketClient的公共接口

安装

使用GDAXKit最简单的方法是使用CocoaPods。

使用CocoaPods安装

要在Xcode项目中使用CocoaPods集成GDAXKit,请在您的Podfile中指定它。

platform :ios, '11.0'

target 'TargetName' do
  pod 'GDAXKit'
end

然后,运行以下命令

$ pod install

预发布版本

这是GDAXKit的一个预发布版本,尽管它很稳定并且应该在前面的所有情况下都能正常工作,但可能会添加、更改以及可能破坏某些功能。

许可证

GDAXKit在MIT协议下发布