一个围绕 filrep.io API 构建的轻量级 Swift 封装库。您可以使用回调或 async/await (iOS 15/macOS 12.0) 进行数据获取。
import FilRepSwift
filrep = FilRepSwift()
let miners = try await filrep.getMiners()
// or
filrep.getMiners() { result in
switch result {
case .success(let miners):
// use list of miners
case .failure(let error):
// handle error
}
}
默认情况下,getMiners 函数会获取限制为 10 个矿工的数据,并且其他参数使用 API 的默认值。所有查询参数都已实现在 getMiners 函数中,因此您可以使用该函数请求来自欧洲、按 freeSpace 排序的前 100 个矿工。
let miners = try await filrep.getMiners(limit: 100, region: .Europe, sortBy: .freeSpace)
Miner
类公开了以下带有常量的类,这些常量直接从 JSON 响应中解析而来。
public class Miner: Codable {
let id: Int
let address: String
let status: Bool
let uptimeAverage: Float
let price: String
let rawPower: String
let qualityAdjPower: String
let isoCode: String
let region: Region
let freeSpace: String
let storageDeals: MinerStorageDeals
let scores: MinerScores
let rank: String
let regionRank: String
public class MinerStorageDeals: Codable {
let total: Int
let noPenalties: Int
let successRate: String
let averagePrice: String
let dataStored: String
let slashed: Int
}
public class MinerScores: Codable {
let total: String
let uptime: String
let storageDeals: String
let committedSectorsProofs: String
}
}