Skip to main content
即刻安装 Cobo WaaS Skill,在 Claude Code、Cursor 等 AI 开发环境中使用自然语言集成 WaaS API,显著提升开发效率 🚀
在发布所有 MPC 钱包(终端用户钱包)的相关文档之前,本文档中的某些链接可能无法使用。

概述

本指南介绍如何开始使用 UCW SDK (iOS),该 SDK 是实现您自己的 MPC 钱包(终端用户钱包)所必需的,并允许您将 UCW SDK 集成到您的客户端 App 中,以与 Cobo TSS 中继进行交互。 您可以访问 GitHub 查看 UCW SDK 的源代码。

安装 UCW SDK

您可以将 UCW SDK 作为依赖项安装在 Swift 包或 Xcode 项目中。
要将 UCW SDK 作为依赖项安装在 Swift 包中,请按照以下说明操作:
  1. 使用 Xcode 创建 Swift 包,请参阅使用 Xcode 创建独立的 Swift 包
  2. 在您的 Package.swift 文件中的 dependencies 中添加 UCW SDK:
    dependencies: [
        .package(url: "https://github.com/CoboGlobal/cobo-ucw-sdk-ios")
    ]
    
    
  3. target 中添加以下内容:
    targets: [
        .target(
            name: "<project_name>",
            dependencies: ["UCWSDK"]
        )
    ]
    
    
  4. 在要使用 UCW SDK 的源文件中,添加以下内容:
    import UCWSDK
    

代码示例

本节展示了在创建主控组时直接涉及 UCW SDK 的步骤实现。有关创建主控组或实施您自己的 MPC 钱包(终端用户钱包)的完整指南,请参阅 MPC 钱包(终端用户钱包)入门 有关操作特定的文档和示例代码,请参阅开发者中心的 UCW SDK 操作。 以下示例展示了如何使用 UCW SDK。
1

初始化密钥

此步骤对应于开始使用 MPC 钱包(终端用户钱包)完成初始设置 > 初始化 UCW SDK下的步骤 1。有关此操作的文档,请参阅初始化密钥
let secrets = "secrets.db"
let passphrase = "d3hxNyoiAP@Lm!D7Qpo_hghdpgyc_r39"

Task {
   do {
       let nodeID = try await initializeSecrets(secretsFile: secrets, passphrase: passphrase)
       print(" TSS Node ID: \(nodeID)")
   } catch {
       print("Error: \(error)")
   }
}

2

创建 UCW SDK

此步骤对应于开始使用 MPC 钱包(终端用户钱包)完成初始设置 > 创建一个主控组下的步骤 1。有关此操作的文档,请参阅创建 UCW
let secrets = "secrets.db"
let passphrase = "d3hxNyoiAP@Lm!D7Qpo_hghdpgyc_r39"
let sdkConfig = SDKConfig(env: Env.development, timeout: 30, debug: true)
var sdkInstance: UCW?
var connCode: ConnCode = .CodeUnknown
var connMessage: String? = ""

do {
    sdkInstance = try UCW(config: sdkConfig, secretsFile: secrets, passphrase: passphrase) { code, message in
        connCode = code
        connMessage = message
        print("Connection Code: \(connCode), Message: \(connMessage ?? "No message")")
    }
} catch {
    print("Error: \(error)")
}

3

获取 TSS Node ID

此步骤对应于开始使用 MPC 钱包(终端用户钱包)完成初始设置 > 创建一个主控组下的步骤 3。有关此操作的文档,请参阅获取 TSS Node ID
do {
    if let nodeID = try sdkInstance?.getTSSNodeID() {
        print("TSS Node ID: \(nodeID)")
    } else {
        print("Failed to get TSS Node ID")
    }
} catch {
    print("Error: \(error)")
}

4

获取 TSS 请求

此步骤对应于开始使用 MPC 钱包(终端用户钱包)完成初始设置 > 创建一个主控组下的步骤 22。有关此操作的文档,请参阅获取 TSS 请求
let tssRequestIDs = ["tss_request_id_01"]
Task {
    do {
        if let requests = try await sdkInstance?.getTSSRequests(tssRequestIDs: tssRequestIDs) {
            for request in requests {
                print("\(request)\n")
            }
        } else {
            print("Get no TSS request")
        }
    } catch {
        print("Error: \(error)")
    }
}

5

批准 TSS 请求

此步骤对应于开始使用 MPC 钱包(终端用户钱包)完成初始设置 > 创建一个主控组下的步骤 27。有关此操作的文档,请参阅批准 TSS 请求
let tssRequestIDs = ["tss_request_id_01"]
do {
    try sdkInstance?.approveTSSRequests(tssRequestIDs: tssRequestIDs)
} catch {
    print("Error: \(error)")
}

6

获取 TSS 请求

此步骤对应于开始使用 MPC 钱包(终端用户钱包)完成初始设置 > 创建一个主控组下的步骤 30。有关此操作的文档,请参阅获取 TSS 请求
let tssRequestIDs = ["tss_request_id_01"]
Task {
    do {
        if let requests = try await sdkInstance?.getTSSRequests(tssRequestIDs: tssRequestIDs) {
            for request in requests {
                print("\(request)\n")
            }
        } else {
            print("Get no TSS request")
        }
    } catch {
        print("Error: \(error)")
    }
}