Repo image

Solana-Swift

Build & Test License: MIT swift-version

Solana Swift SDK (基于 https://docs.solana.com/developing/clients/jsonrpc-api).

目前仍在积极开发中 (WIP)。欢迎提交 PR!开发正在 demo app repo 中进行

开始使用

Swift Package Manager (Xcode 11 及以上)

  1. 从菜单中选择 File/Swift Packages/Add Package Dependency
  2. 粘贴 https://github.com/crewshin/solana-swift.git

为什么不使用 CocoaPods 或 Carthage?

支持多个依赖管理工具会使维护一个库变得复杂和耗时。此外,随着 Swift Package Manager 集成到 Xcode 11 及更高版本中,我预计对替代解决方案的需求会迅速消退。

用法

import Solana

创建一个 Solana 实例

let solana = Solana(network: .main)

或者 (尚未实现)

let solana = SolanaSockets(network: .main)

然后

solana.getAccountInfo(pubkey: pubkey) { (result) in
    switch result {
    case .failure(let error):
        if case let SolanaAPIError.getAccountInfoError(message) = error {
            print(message)
        }
    case .success(let response):
        if let value = response.value {
            print(value)
        }
    }
}

WIP 状态

我基本上正在按 JSON RPC 中的方法列表进行开发

目前我已经实现了基础部分,在这个 commit 中,我完成了第一次尝试:

getAccountInfo
getBalance
getBlockCommitment
getBlockTime
getClusterNodes
getConfirmedBlock
getBlockProduction
getConfirmedBlocks
getConfirmedBlocksWithLimit
getConfirmedSignaturesForAddress
getConfirmedSignaturesForAddress2
getConfirmedTransaction
getEpochInfo
getEpochSchedule
getFeeCalculatorForBlockhash
getFeeRateGovernor

欢迎在 Discord 上打个招呼: crewshin#3286