Crates.io | tesseract-one |
lib.rs | tesseract-one |
version | 0.5.6 |
source | src |
created_at | 2023-12-18 19:06:19.173211 |
updated_at | 2023-12-18 20:34:23.572466 |
description | Tesseract is a universal dApp/Wallet bridge. This crate implements the communication protocol and is the framework for implementation of blockchain protocols and data transports. |
homepage | https://github.com/tesseract-one/ |
repository | https://github.com/tesseract-one/Tesseract.rs |
max_upload_size | |
id | 1073574 |
size | 58,315 |
This page is about Tesseract shared Core in Rust and Tesseract Rust APIs. If you need general info or Tesseract for a specific platform, please consider one of the following:
First, make sure, please, you have followed the installation section steps. Here we describe how to start using Tesseract in your dApp. To make your wallet Tesseract-compatible, please refer to the Wallet Documentation section.
use tesseract_client;
let tesseract = tesseract_client::Tesseract::new(
tesseract_client::delegate::SingleTransportDelegate::arc(),
).transport(/*your transport here*/);
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());
In the case of playground example, this snippet should print the following:
Signed transaction: testTransaction_signed!
.
sign_transaction("testTransaction")
is test method, that will be replaced once we have an actual implementation for Polkadot network.
This section will get populated once we have the Rust implementation finished and the crates published. For now, please, consider checking out the Playground:
git clone https://github.com/tesseract-one/Tesseract.rs.git
cd Tesseract.rs/tesseract-playground/
cargo +nightly run
The Tesseract Rust library is a Core implementation of Tesseract Protocol and thus provides all the necessary APIs for:
The documentation is split into several sections respectively:
While there are plenty of options that allow dApps to interact with a wallet, there is no universal protocol that can cover required use cases and blockchain networks.
In contrast, Tesseract is designed highly flexible to solve the issues mentioned above:
v0.1 - framework in Rust that implements all the concepts of Tesseract Protocol
v0.1.1 - Playground that implements mocks and tests all the frameworks concepts
v0.1.2 - restructured repo to provide client and service as features
v0.1.3 - Test protocol implementation (for testing the connection)
v0.2 - IPC transport - allows dApps and Wallets to communicate on the same device
v0.3 - Polkadot network support
v0.4 - demo applications
Polkachat - demo dApp for Polkadot network
Developer Wallet - a wallet for developers testing their dApps
v0.5 - native language libraries (wrappers that provide native easy APIs for mobile developers)
v1.0 - first stable release
v1.0+ - more transports and more blockchain networks
v0.5 - changes required to support Swift and Kotlin bindings. First official crates release.
v0.4 - Added demos:
v0.3 - Added Substrate support
v0.2 - IPC transport - allows dApps and Wallets to communicate on the same device
v0.1.3 - added Test protocol implementation (for testing the connection)
v0.1.2 - restructured repo to provide client and service as features
v0.1.1 - added Playground that implements mocks and tests all the frameworks concepts
v0.1 - framework in Rust that implements all the concepts of Tesseract Protocol
Tesseract.rs can be used, distributed and modified under the Apache 2.0 license.