Lumi-SDK-IOS
通过 Lumi Collect 应用程序进行消息和交易签名的 SDK
添加依赖
LumiSDK 通过 CocoaPods 提供使用。要安装它,只需在您的 Podfile 中添加以下行
pod 'LumiSDK'
运行 'pod install'
处理 Lumi 回调
在您的 AppDelegate 中,将 'import LumiSDK' 添加到文件顶部。在您的 'func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool' 方法中,添加以下内容
let handler = LumiURLHandler(url: url)
“处理器”包含关于执行命令类型的详细信息,结果以 JSON 格式呈现在 URL 中(“result”参数)。
使用 Lumi 钱包创建和执行操作
要创建钱包操作,您需要在文件顶部添加 'import LumiSDK'。
- 要签名消息,添加以下代码。不要忘记用需要签名消息替换“message”并在当前AppScheme中使用它(您的方案设置见下文)。
let lumiOperation = LumiOperation(.signMessage(message: message), completionScheme: currentAppScheme)
网络、nonce、gasPrice、gasLimit是可选参数,Lumi Collect当前不处理这些参数,但我们将很快开始这样做。请务必用您的参数替换所有参数,并用以下描述的您的模式替换currentAppScheme。
- 添加以下代码进行交易签名
let lumiOperation = LumiOperation(.signTransaction(chainId: network, nonce: nonce, amount: amount, address: address, data: data, gasPrice: gasprice, gasLimit: gaslimit), completionScheme: currentAppScheme)
网络、nonce、gasPrice、gasLimit是可选参数,Lumi Collect当前不处理这些参数,但我们将很快开始这样做。请务必用您的参数替换所有参数,并用以下描述的您的模式替换currentAppScheme。
- 添加以下代码进行交易签名和发送
let lumiOperation = LumiOperation(.signSendTransaction(chainId: network, nonce: nonce, amount: amount, address: address, data: data, gasPrice: gasprice, gasLimit: gaslimit), completionScheme: currentAppScheme)
网络、nonce、gasPrice、gasLimit是可选参数,Lumi Collect当前不处理这些参数,但我们将很快开始这样做。请务必用您的参数替换所有参数,并用以下描述的您的模式替换currentAppScheme。
- 钱包操作必须使用以下代码执行
lumiOperation.execute()
为您的应用注册一个方案
打开Xcode,点击您的项目。转到“Info”标签,展开“URL Types”组。单击+按钮添加新的方案。在“URL Schemes”中输入自定义方案名称。
示例
LumiSDK包含了一个拥有上述代码的示例项目。要运行示例项目,请克隆仓库。打开LumiSDK.xcworkspace,选择LumiSDKExample目标并运行。确保在设备或模拟器上安装了LumiCollect,以便测试完整的回调流程。
许可
LumiSDK在MIT许可下可用。有关更多信息,请参阅LICENSE文件。