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

nightly tesseract-swift-transport

用于 Swift 的与传输相关的 Tesseract API 的包

3 个版本

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

#16 in #dapp

23 每月下载量
tesseract-swift 中使用

Apache-2.0

73KB
2K SLoC

Tesseract

Tesseract Swift

Tesseract.swiftTesseract 提供 Swift API,Tesseract 是一个旨在使移动设备上的 dApp/钱包通信简单自然,同时不牺牲去中心化和安全性的 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 集成的示例,请查看以下链接

更多

万一您想在 iOS 上通过 Rust API 使用 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.8–3MB
~61K SLoC