2 个版本
0.5.6 | 2023 年 12 月 18 日 |
---|---|
0.5.5 | 2023 年 12 月 18 日 |
#121 在 神秘豆
63 每月下载量
在 8 个crate中(6 个直接) 使用
59KB
910 行
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
- Tesseract 概览 - 关于 Tesseract 协议如何工作的基本信息
- Tesseract 客户端 - 适用于 dApp 开发者
- Tesseract 服务 - 适用于钱包开发者
- Tesseract 协议(即区块链) - 支持的协议列表(即 Polkadot、Ethereum 等)以及如何使用它们
- 扩展 Tesseract - 适用于区块链协议开发者
背景
虽然有很多选项允许 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