即刻安装 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 包中,请按照以下说明操作:
-
使用 Xcode 创建 Swift 包,请参阅使用 Xcode 创建独立的 Swift 包。
-
在您的
Package.swift 文件中的 dependencies 中添加 UCW SDK:
dependencies: [
.package(url: "https://github.com/CoboGlobal/cobo-ucw-sdk-ios")
]
-
在
target 中添加以下内容:
targets: [
.target(
name: "<project_name>",
dependencies: ["UCWSDK"]
)
]
-
在要使用 UCW SDK 的源文件中,添加以下内容:
要在 Xcode 项目中将 UCW SDK 作为依赖项安装,请按照以下说明进行操作:
- 使用 Xcode 设置您的客户端 App的应用程序开发环境,请参阅为应用创建 Xcode 项目。
- 一旦您的 Xcode 项目设置完成,在 Xcode 中点击 File > Add Package Dependency,然后输入仓库 URL:
https://github.com/CoboGlobal/cobo-ucw-sdk-ios。有关更多详细信息,请参阅向您的应用添加包依赖项。
- 在您希望使用 UCW SDK 的源文件中,添加以下内容:
代码示例
本节展示了在创建主控组时直接涉及 UCW SDK 的步骤实现。有关创建主控组或实施您自己的 MPC 钱包(终端用户钱包)的完整指南,请参阅 MPC 钱包(终端用户钱包)入门。
有关操作特定的文档和示例代码,请参阅开发者中心的 UCW SDK 操作。
以下示例展示了如何使用 UCW SDK。
初始化密钥
此步骤对应于开始使用 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)")
}
}
创建 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)")
}
获取 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)")
}
获取 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)")
}
}
批准 TSS 请求
此步骤对应于开始使用 MPC 钱包(终端用户钱包)中完成初始设置 > 创建一个主控组下的步骤 27。有关此操作的文档,请参阅批准 TSS 请求。let tssRequestIDs = ["tss_request_id_01"]
do {
try sdkInstance?.approveTSSRequests(tssRequestIDs: tssRequestIDs)
} catch {
print("Error: \(error)")
}
获取 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)")
}
}