CruxPay 0.0.2

CruxPay 0.0.2

CoinSwitch Dev 维护。



CruxPay 0.0.2

CruxPay

Version License Platform

安装

CruxPay 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中

pod 'CruxPay'

SDK 初始化

要初始化 SDK,您需要至少传递以下细节:-

  1. walletClientName

    • walletClientName 是一个键,用于识别存储在 gaiaHub 中的钱包特定配置,例如
      1. 子域名注册信息
      2. BNS(BlockStack 名称服务)节点
      3. 您的钱包货币符号映射
    • 为了帮助您开始,您可以使用已经为我们的开发测试用户配置的 cruxdev 作为值。它具有 5 个预注册的加密符号以便快速启动。您可以联系我们所在的 telegram 频道以注册您自己的 walletClientName。
  2. privateKey(可选)

    • 需要重新初始化 CruxClient 来在不同的设备上使用相同的用户。
    • 对于使用 HD 推导路径的客户端,建议使用路径(m/889'/0/0')进行 CruxPay 密钥对节点推导,与账户索引有关。

    以下示例显示了如何创建 cruxClient 实例。这些都是暴露的 SDK 操作

    import CruxPay
    
    let configBuilder = CruxClientInitConfig.Builder()
    configBuilder.setWalletClientName(walletClientName: "cruxdev")
    configBuilder.setPrivateKey(privateKey: "6bd397dc89272e71165a0e7d197b280c7a88ed5b1e44e1928c25455506f1968f") // (optional parameter)
    let cruxClient = CruxClient(configBuilder: configBuilder)

    就是这样!现在您可以使用 cruxClient 对象来执行 SDK 操作 中定义的操作。

SDK 操作

  1. isCruxIDAvailable(cruxIDSubdomain: String, onResponse: (Bool) -> (), onErrorResponse: (CruxClientError) -> ())
    • 描述:帮助检查特定的 CruxID 是否可以注册。
    • 参数
      • CruxID 的子域名部分
      • onResponse 回调函数
      • onErrorResponse 回调函数
    cruxClient.isCruxIDAvailable(cruxIDSubdomain: "bob", onResponse: isCruxIDAvailableSuccess(cruxIDAvailable:), onErrorResponse: isCruxIDAvailableError(cruxError:))
    func isCruxIDAvailableSuccess(cruxIDAvailable: Bool) -> () {
        // Do something here
    }
    
    func isCruxIDAvailableError(cruxError: CruxClientError) -> () {
        // Do something here
    }
  2. registerCruxID(cruxIDSubdomain: String, onResponse: () -> (), onErrorResponse: (CruxClientError) -> ())
    • 描述:为用户预留/注册 cruxID。
    • 参数
      • CruxID 的子域名部分
      • onResponse 回调函数
      • onErrorResponse 回调函数
    cruxClient.registerCruxID(cruxIDSubdomain: "bob", onResponse: registerCruxIDSuccess, onErrorResponse: registerCruxIDError(cruxError:))
    func registerCruxIDSuccess() -> () {
        // Do something here
    }
    
    func registerCruxIDError(cruxError: CruxClientError) -> () {
        // Do something here
    }
  3. resolveCurrencyAddressForCruxID(fullCruxID: String, walletCurrencySymbol: String, onResponse: (Address) -> (), onErrorResponse: (CruxClientError) -> ())
    • 描述:帮助查找任何 CruxID 的标记为公开可访问的货币的映射地址。
    • 参数
      • 要获取地址的用户完整的 CruxID
      • 钱包货币符号要获取地址的货币。
      • onResponse 回调函数
      • onErrorResponse 回调函数
    cruxClient.resolveCurrencyAddressForCruxID(fullCruxID: "bob@cruxdev.", walletCurrencySymbol: "btc", onResponse: resolveCurrencyAddressForCruxIDSuccess(address: ), onErrorResponse: resolveCurrencyAddressForCruxIDError(cruxError:))
    func resolveCurrencyAddressForCruxIDSuccess(address: Address) -> () {
        // Do something here
    }
    
    func resolveCurrencyAddressForCruxIDError(cruxError: CruxClientError) -> () {
        // Do something here
    }
  4. getAddressMap(onResponse: ([String: Address]) -> (), onErrorResponse: (CruxClientError) -> ())
    • 描述:获取当前已公开注册的地址。
    • 参数
      • onResponse 回调函数
      • onErrorResponse 回调函数
    cruxClient.getAddressMap(onResponse: getAddressMapSuccess(addressMap:), onErrorResponse: getAddressMapError(cruxError:))
    func getAddressMapSuccess(addressMap: [String: Address]) -> () {
        // Do something here
    }
    
    func getAddressMapError(cruxError: CruxClientError) -> () {
        // Do something here
    }
  5. putAddressMap(newAddressMap: [String: Address], onResponse: ([String: [String: Address]]) -> (), onErrorResponse: (CruxClientError) -> ())
    • 描述:帮助更新以下两项:
      • 发布/更改可公开访问的货币地址列表。
      • 更改地址Hash和/或secIdentifier的值。
    • 注意:这些地址现在是公开链接的,可以被解析。
    • 参数
      • newAddressMap表示经修改后具有符号和地址的映射,用户希望通过CruxID公开。
      • onResponse 回调函数
      • onErrorResponse 回调函数
    let sampleAddressMap: [String: Address] = [
        "btc": Address(addressHash: "1F1tAaz5x1HUXrCNLbtMDqcw6o5GNn4xqX", secIdentifier: nil),
        "xrp": Address(addressHash: "rpfKAA2Ezqoq5wWo3XENdLYdZ8YGziz48h", secIdentifier: "123456")
    ]
    cruxClient.putAddressMap(newAddressMap: sampleAddressMap, onResponse: putAddressMapSuccess(putAddressMapResponse:), onErrorResponse: putAddressMapError(cruxError:))
    func putAddressMapSuccess(putAddressMapResponse: [String: [String: CruxPay.Address]]) -> () {
        // Do something here
    }
    
    func putAddressMapError(cruxError: CruxClientError) -> () {
        // Do something here
    }
  6. getCruxIDState(onResponse: (CruxIDState) -> (), onErrorResponse: (CruxClientError) -> ())
    • 描述:返回用户钱包此实例当前注册的CruxID(如果有的话)的详细信息及其注册状态。
    • 参数
      • onResponse 回调函数
      • onErrorResponse 回调函数
    cruxClient.getCruxIDState(onResponse: getCruxIDStateSuccess(cruxState:), onErrorResponse: getCruxError(cruxError:))
    func getCruxIDStateSuccess(cruxState: CruxIDState) -> () {
        // Do something here
    }
    
    func getCruxError(cruxError: CruxClientError) -> () {
        // Do something here
    }

SDK对象定义

  1. CruxID注册状态
    • 示例
          CruxIDRegistrationStatus(status: "PENDING", statusDetail: "Your subdomain was registered in transaction")
      
    • 描述:定义CruxID注册过程中的状态。它有2个子组件。
      • 状态
        • 类型:字符串
        • 描述:可能具有以下值[未知,待处理,被拒绝,完成]
      • 状态详情
        • 类型:字符串
        • 描述:包含关于状态进一步详细信息/原因。
  2. CruxID状态
    • 示例
        let cruxIDRegistrationStatus = CruxIDRegistrationStatus(status: "PENDING", statusDetail: "Your subdomain was registered in transaction")
        CruxIDState(cruxID: "[email protected]", registration_status: cruxIDRegistrationStatus)
    
    • 描述:返回当前注册的ID及其状态。
  3. 地址
    • 示例
       Address(addressHash: "rpfKAA2Ezqoq5wWo3XENdLYdZ8YGziz48h", secIdentifier: "123456")
    
    • 描述:地址对象。在这里,secIdentifier 是一个可选字段,如果不由区块链要求或区块链仍不支持,将作为 nil 发送。

授权

CruxPay 在 GPL-3.0 许可下可用。更多信息请参阅 LICENSE 文件。