Crates.io | tonlib-core-anychain |
lib.rs | tonlib-core-anychain |
version | 0.20.3 |
source | src |
created_at | 2024-10-11 07:43:52.848954 |
updated_at | 2024-11-10 12:45:12.120193 |
description | Data structures library for tonlib-client |
homepage | |
repository | https://github.com/loki-cmu/tonlib-rs |
max_upload_size | |
id | 1405020 |
size | 287,492 |
Rust SDK for The Open Network
To use this library in your Rust application, add the following to your Cargo.toml file:
[dependencies]
tonlib-core = "0.20"
Then, in your Rust code, you can import the library with:
use tonlib_core;
Data structures and helpers for building and parsing Cell and Bag of Cells. See the documentation on ton.org for details.
Data structures, builders, and parsers for Message See the documentation on ton.org for details.
Includes standard messages for Jetton, NFT, and Soulbound NFT, specified by TON Enhancement Proposal.
Data structure to store mnemonic.
Data structures for storage and easy conversion of Ton Smart-contract Address and Ton Transaction Id
Data structure for deriving wallet addresses.
Creating a Cell
and writing data to it:
use anyhow::anyhow;
use tonlib_core::TonAddress;
use tonlib_core::cell::CellBuilder;
fn write_cell() -> anyhow::Result<()> {
let mut writer = CellBuilder::new();
let addr = TonAddress::from_base64_url("EQDk2VTvn04SUKJrW7rXahzdF8_Qi6utb0wj43InCu9vdjrR")?;
let cell = writer
.store_u32(32, 0xFAD45AADu32)?
.store_bit(true)?
.store_u8(8, 234u8)?
.store_slice(&[0xFA, 0xD4, 0x5A, 0xAD, 0xAA, 0x12, 0xFF, 0x45])?
.store_address(&addr)?
.store_string("Hello, TON")?
.build()?;
# Ok(())
}
Reading data from a Cell
:
use tonlib_core::cell::Cell;
fn read_cell(cell: Cell) -> anyhow::Result<()> {
let mut reader = cell.parser();
let u32_value = reader.load_u32(32)?;
let bit_value = reader.load_bit()?;
let u8_value = reader.load_u8(8)?;
let bytes_value = reader.load_bytes(8)?;
let address_value = reader.load_address()?;
let str_value = reader.ensure_empty()?;
Ok(())
}