3 个版本

0.5.6 2024年1月30日
0.5.4 2024年1月29日
0.5.3 2024年1月29日

#2471 in 神奇豆子

22 每月下载量

Apache-2.0

79KB
2K SLoC

Tesseract

Tesseract Swift

Tesseract.swiftTesseract 提供 Swift API,Tesseract 是一个 dApp-Wallet 桥接器,旨在使移动设备上的 dApp/wallet 通信简单自然,同时不牺牲去中心化和安全性

如果您正在寻找其他语言/操作系统上的 Tesseract 文档,请考虑以下之一

入门

Tesseract 提供了两套 API,一套用于希望连接钱包的 dApp,另一套用于希望服务 dApp 的钱包。

以下是典型的 Tesseract 工作流程

dApp 钱包
//initialize Tesseract with default config
let tesseract = Tesseract.default()

//indicate what blockchain are we gonna use
let substrateService = tesseract.service(SubstrateService.self)

//at this point Tesseract connects to the
//wallet and the wallet presents the user
//with its screen, asking if the user
//wants to share their public key to a dApp
let account = try await substrateService.getAccount(type: .sr25519)
//Inside the Wallet Tesseract serves requests
//from the dApps as long as the reference is kept alive
//save it somewhere in the Extension instance
let tesseract = Tesseract()
    .transport(IPCTransportIOS(self)) //add iOS IPC transport
    .service(MySubstrateService())
//MySubstrateService instance methods
//will be called when a dApp asks for something

详情

由于在 dApp 和钱包中使用 Tesseract 的本质差异很大(本质上作为客户端和服务的通信),详细文档分为两个文档

示例

如果您想查看 Tesseract 集成示例,请参阅以下内容

更多

以防万一,您想通过 Rust API 在 iOS 上使用 Tesseract。这也是可能的。请考虑以下内容

路线图

  • v0.1 - iOS 的 IPC 传输 - 在同一设备上连接 dApp/Wallet
  • v0.2 - 演示 dApp 和钱包
  • v0.3 - 支持Substrate 协议
  • v0.4 - dev-wallet.swift 测试实现
  • v0.5 - 首个 Swift 库发布版本
  • v1.0 - 支持移动 dApp 需要的一切

许可协议

Tesseract.swift 可以在 Apache 2.0 许可协议 下使用、分发和修改。

依赖项

~1.9–3MB
~62K SLoC