OpenWallet.swift
用于基于 Swift 的客户端平台的 Open Wallet 协议实现
目标
此库实现了对原生 Swift 支持的平台执行 Open Wallet 协议。
它允许应用程序与实现了 Open Wallet 协议的区块链钱包进行交互。
功能
- 可以检查钱包是否已安装并支持所需的 API。
- 可以与已安装的钱包进行交互。
- 可以被钱包用于 OpenWallet 的实现。
已实现的API
- 以太坊
- 密钥链API
开始使用
Web3
这并不是一个Web3的实现。
我们也有一个Web3的实现:[EthereumWeb3.swift](https://github.com/tesseract-one/EthereumWeb3.swift)
安装
以太坊
将以下内容添加到您的Podfile
pod 'Tesseract.OpenWallet/Ethereum'
# Uncomment this line if you want to enable PromiseKit extensions
# pod 'Tesseract.OpenWallet/EthereumPromiseKit'
然后运行pod install
。
示例
以太坊
获取用户账户(公开地址)
import OpenWallet
let openWallet = OpenWallet(networks: [.Ethereum])
// Mainnnet Network ID = 1
openWallet.eth_accounts(networkId: 1) { response in
switch response {
case .success(let accounts): print("Accounts:", accounts)
case .failure(let error): print("Error:", error)
}
}
签名数据
import OpenWallet
let data = "some string".data(using: .utf8)!
let address = try! Address(hex: "0x0000000000000000000000000000000000000000")
let openWallet = OpenWallet(networks: [.Ethereum])
// Mainnnet Network ID = 1
openWallet.eth_signData(account: address, data: data, networkId: 1) { response in
switch response {
case .success(let signature): print("Signature:", signature)
case .failure(let error): print("Error:", error)
}
}
钱包
安装
Ethereum
将以下内容添加到您的Podfile
pod 'Tesseract.OpenWallet/WalletEthereum'
然后运行pod install
。
用法
从该库的 ExtensionViewController
类继承您的扩展主视图控制器。
作者
许可
OpenWallet.swift
在 Apache 2.0 许可下可用。更多信息请参阅LICENSE 文件。