#dapp #wallet #mobile #bridge #blockchain #helper #api-bindings

nightly tesseract-swift-utils

为 Swift 提供的 Tesseract 互操作助手。请查看 tesseract-swift crate 以获取完整的 SDK。

3 个版本

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

#19 in #dapp


2 crates 中使用

Apache-2.0

50KB
1.5K 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 - IPC 传输用于 iOS - 在同一设备上连接 dApp/Wallet
  • v0.2 - 示例 dApp 和钱包
  • v0.3 - 支持Substrate协议
  • v0.4 - dev-wallet.swift 测试实现
  • v0.5 - 首个 Swift 库发布版本
  • v1.0 - 支持移动 dApp 所需的一切

许可证

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

依赖项

~190KB