测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可协议 | MIT |
发布最后发布 | 2017年10月 |
SwiftSwift 版本 | 4.0 |
SPM支持 SPM | ✗ |
由 Andrew Walz 维护。
SwiftyArk 是一个简单、轻量级的用于 Ark 生态系统 的框架。SwiftyArk 为访问 Ark 账户、委托、区块和交易信息提供了一个简单的包装。
SwiftyArk 的网络组件完全异步,并且具有广泛的错误处理。SwiftyArk 数据结构是类型安全的,并倾向于不可变性。
SwiftyArk 100% 已文档化,可在 此处 提供。
使用 ArkManager
访问 Ark API
let manager = ArkManager()
ArkManager
处理所有网络调用,并以异步方式在闭包中返回结果
manager.delegates { (error, delegates) in
if let arkError = error {
print(arkError.localizedDescription)
return
}
if let currentDelegates = delegates {
// List of delegates
}
}
使用管理器实例,您可以访问一个账户
manager.account(address: "AUexKjGtgsSpVzPLs6jNMM6vJ6znEVTQWK") { (error, arkAccount) in
if let account = arkAccount {
// Account(address: "AUexKjGtgsSpVzPLs6jNMM6vJ6znEVTQWK",
// unconfirmedBalance: 16118512.398923151,
// balance: 16118512.398923151,
// publicKey: "02ff171adaef486b7db9fc160b28433d20cf43163d56fd28fee72145f0d5219a4b",
// unconfirmedSignature: Optional(0),
// secondSignature: Optional(0),
// multisignatures: Optional([]),
// secondPublicKey: nil,
// unconfirmedMultisignatures: Optional([]))
}
}
管理器实例可以存储一个会话,以便轻松访问地址/委托
manager.delegate("jarunik") { (error, delegate) in
if let arkDelegate = delegate {
// Delegate(username: "jarunik",
// address: "Aasu14aTs9ipZdy1FMv7ay1Vqn3jPskA8t",
// publicKey: "02c7455bebeadde04728441e0f57f82f972155c088252bf7c1365eb0dc84fbf5de",
// votes: 1246983.70585494,
// producedblocks:
// 28670,
// missedblocks: 61,
// rate: 47,
// approval: 0.970000029,
// productivity: 99.7900009)
// Update the session settings with delegate
manager.updateSettings(delegate: arkDelegate)
}
}
使用存储的会话凭证,您可以轻松访问账户信息
manager.lastBlock { (error, block) in
if let lastBlock = block {
// Block(id: "3725283905614253778",
// version: 0,
// timestamp: 2017-09-19 00:48:48 +0000,
// height: 1948928,
// previousBlock: "17490567348134875423",
// numberOfTransactions: 0,
// totalAmount: 0.0,
// totalFee: 0.0,
// reward: 2.0,
// payloadLength: 0,
// payloadHash: "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",
// generatorPublicKey: "#{key}",
// generatorId: "ARAq9nhjCxwpWnGKDgxveAJSijNG8Y6dFQ",
// blockSignature: "#{signature}",
// confirmations: 27,
// totalForged: 2.0)
}
}
SwiftyArk 还提供了由 CoinMarketCap 提供的内置 Ark Ticker 支持多达 31 种货币
manager.ticker(currency: .cad) { (error, ticker) in
if let canadianTicker = ticker {
// Ticker(currency: SwiftyArk.Currency.cad,
// id: "ark",
// name: "Ark",
// symbol: "ARK",
// rank: 20,
// price: 4.3638476501000003,
// bitcoinPrice: 0.00088648999999999998,
// volume24Hour: 5406421.2865599999,
// marketCap: 426120847.0,
// availableSupply: 97647966.0,
// totalSupply: 128897966.0,
// percentChange1h: -3.7999999999999998,
// percentChange24h: 1.8700000000000001,
// percentChange7d: -1.1100000000000001)
}
}
只需将 Source
文件夹的内容复制到您的项目中。
SwiftyArk 采用 MIT 许可协议。有关更多信息,请参阅 LICENSE 文件。
如果您有任何问题、请求或改进意见,请随时提交拉取请求、创建问题或直接与我联系。
Andrew Walz
[email protected]
SwiftyArk
100% 为开源项目,由❤️制作。
Ark 地址: AYdHH5TsZF796pv7gxVU1tK6DLkUxMK1VL
比特币地址: 16HPSJkzaQWWYyATrAnzCiLCQ2GSJETJbL
委托赞助商 - Jarunik