#区块链 #dapp #钱包 #桥接 #移动

tesseract-one

Tesseract 是一个通用的 dApp/Wallet 桥接工具。这个库实现了通信协议,并为区块链协议和数据传输的实现提供了框架。

2 个版本

0.5.6 2023 年 12 月 18 日
0.5.5 2023 年 12 月 18 日

#121神秘豆

Download history 8/week @ 2024-03-27 20/week @ 2024-04-03 16/week @ 2024-04-10 5/week @ 2024-05-15 12/week @ 2024-05-22 28/week @ 2024-05-29 19/week @ 2024-06-05 17/week @ 2024-06-12 11/week @ 2024-06-19 15/week @ 2024-06-26

63 每月下载量
8 个crate中(6 个直接) 使用

Apache-2.0

59KB
910

Tesseract

Tesseract 无缝集成 dApps 和钱包,无论区块链协议。

Tesseract 旨在在不牺牲安全或去中心化的前提下提高 dApps 的可用性。

本页面关于 Tesseract 共享核心 在 Rust 和 Tesseract Rust APIs。如果您需要一般信息或特定平台上的 Tesseract,请考虑以下选项

入门

首先,请确保您已经遵循了 安装 部分的步骤。在此,我们描述如何开始使用 Tesseract 在您的 dApp 中。要使您的钱包兼容 Tesseract,请参阅 钱包文档 部分。

初始化 Tesseract 客户端

use tesseract_client;

let tesseract = tesseract_client::Tesseract::new(
	tesseract_client::delegate::SingleTransportDelegate::arc(),
).transport(/*your transport here*/);

选择区块链网络(例如 Polkadot)

let service = tesseract.service(polkadot::Polkadot::Network);

调用一个方法(例如签名交易)

use polkadot::client::PolkadotService;

let signed = Arc::clone(&service).sign_transaction("testTransaction");
let signed = futures::executor::block_on(signed);

println!("Signed transaction: {}", signed.unwrap());

在 playground 示例的情况下,此代码片段应打印以下内容: 签名交易: testTransaction_signed!

sign_transaction("testTransaction") 是测试方法,一旦我们有 Polkadot 网络的实际实现,它将被替换。

安装

本节将在我们完成 Rust 实现并将 crate 发布后填充。目前,请考虑查看 Playground

  • 安装您的 Rust 环境: https://www.rust-lang.net.cn/tools/install
  • 克隆此仓库: git clone https://github.com/tesseract-one/Tesseract.rs.git
  • 前往游乐场 cd Tesseract.rs/tesseract-playground/
  • 运行游乐场 cargo +nightly run

用法

Tesseract Rust 库是 Tesseract 协议的核心理念实现,因此为

  • dApp 开发者
  • 钱包开发者
  • 区块链协议开发者

提供了所有必要的 API

背景

虽然有很多选项允许 dApp 与钱包交互,但没有一个通用的协议可以涵盖所需用例和区块链网络。

相比之下,Tesseract 高度灵活地设计来解决上述问题

  • 可插拔传输 - 为了支持尽可能多的用例,Tesseract 不局限于单一连接类型(例如网络、IPC 等)。相反,它提供了传输 API,允许根据当前和未来用例的需求注入任何类型的连接。
  • 可插拔区块链 - Tesseract 是一个区块链无关的协议。它不与特定网络硬绑定,而是提供一组 API,允许任何区块链网络将它的调用集添加到 Tesseract。
  • 开放协议 - Tesseract 是开源的开放协议。因此,任何钱包都可以实现 Tesseract 并为其用户提供与 dApp 交互的可能性。
  • 设计安全 - Tesseract 的设计方式是它永远不会需要访问私钥,因此保持了钱包所提供的安全水平。
  • 去中心化 - Tesseract 不需要中心服务器来运行,也不需要在服务器上存储任何用户数据或私钥。

路线图

  • v0.1 - 以 Rust 实现的 Tesseract 协议所有概念的框架

    • 框架本身
    • 客户端 API(适用于 dApp 开发者)
    • 服务 API(适用于钱包开发者)
    • 传输 API(创建 dApp 和钱包之间的通信方式,例如 TCP/IP、IPC 等)
    • 协议 API(实现区块链网络的 API - 例如 Polkadot、Bitcoin、Ethereum 等)
  • v0.1.1 - 实现并测试所有框架概念的游乐场

  • v0.1.2 - 重新组织存储库,提供 客户端服务 作为功能

  • v0.1.3 - 测试 协议实现(用于测试连接)

  • v0.2 - IPC 传输 - 允许 dApp 和钱包在同一设备上通信

    • Android 支持
    • iOS 支持
  • v0.3 - Polkadot 网络支持

    • 在单独的分支中
    • 合并
  • v0.4 - 演示应用程序

  • v0.5 - 原生语言库(为移动开发者提供原生简单 API 的包装器)

    • Swift
    • Kotlin/Java
  • v1.0 - 第一个稳定版本

  • v1.0+ - 更多传输和更多区块链网络

    • 浏览器 dApp
    • 桌面 dApp
    • 多种传输方式
    • 更多区块链网络
    • 更多本地语言库(例如:JavaScript)

变更日志

  • v0.5 - 支持Swift和Kotlin绑定的更改。首次官方crates发布。

  • v0.4 - 添加演示

  • v0.3 - 添加Substrate支持

  • v0.2 - IPC 传输 - 允许 dApp 和钱包在同一设备上通信

    • Android 支持
    • iOS 支持
  • v0.1.3 - 添加了 测试 协议实现(用于测试连接)

  • v0.1.2 - 重新组织存储库,提供 客户端服务 作为功能

  • v0.1.1 - 添加了实现模拟和测试所有框架概念的Playground

  • v0.1 - 以 Rust 实现的 Tesseract 协议所有概念的框架

    • 框架本身
    • 客户端 API(适用于 dApp 开发者)
    • 服务 API(适用于钱包开发者)
    • 传输 API(创建 dApp 和钱包之间的通信方式,例如 TCP/IP、IPC 等)
    • 协议 API(实现区块链网络的 API - 例如 Polkadot、Bitcoin、Ethereum 等)

许可证

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

依赖关系

~1.7–2.6MB
~56K SLoC