Native library for working with TON (The Open Network)
Project description
What is it?
This is a native library for working with The Open Network. Without using libtonlibjson.so
Installation
pip3 install mytonlib
How to use
from mytonlib import AdnlTcpClient
# Take public lite-server from https://ton-blockchain.github.io/global.config.json
host = "185.86.79.9"
port = 4701
pubkey = "G6cNAr6wXBBByWDzddEWP5xMFsAcp6y13fXA8Q7EJlM="
# Connect to the lite-server with adnl
adnl = AdnlTcpClient()
adnl.connect(host, port, pubkey)
# Test connection
adnl.ping()
# Get masterchain info
adnl.get_masterchain_info()
List of available functions
All available functions are taken from lite-client
connect # Connect to the lite-server with adnl
ping # Test connection
get_time # Get server time
get_masterchain_info # Get last block and state info from server
get_account_state # Loads the most recent state of specified account
run_smc_method # Runs GET method <method-id> of account <addr> with specified parameters
get_all_shards_info # Shows shard configuration from the most recent masterchain state or from masterchain state corresponding to <block-id-ext>
get_config_params # Shows specified or all configuration parameters from the latest masterchain state
get_block_header # Shows block header for <block-id-ext>
get_block # Downloads block
get_last_transactions # Shows or dumps specified transaction and several preceding ones
get_block_transactions # Lists block transactions, starting immediately after or before the specified one
get_one_transaction # Dumps one transaction of specified account
lookup_block # Looks up a block by workchain, shard and seqno/lt/time, and shows its header
TLB unpacking
A feature of this library is the automatic unpacking of data according to the TLB scheme:
data = adnl.run_smc_method("kQBL2_3lMiyywU17g-or8N7v9hDmPCpttzBPE2isF2GTziky", "mult", [5, 4])
print(data) # or print(json.dumps(data, indent=4))
adnl.tlb_schemes.load_schemes_from_text("mycell$_ value:uint64 = MyCell;")
data = adnl.tlb_schemes.deserialize(data.cell, expected="MyCell")
print(data.value)
More examples
https://github.com/igroman787/mytonlib/blob/master/mytonlib/tests.py
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
mytonlib-0.7.2.tar.gz
(47.8 kB
view details)
File details
Details for the file mytonlib-0.7.2.tar.gz.
File metadata
- Download URL: mytonlib-0.7.2.tar.gz
- Upload date:
- Size: 47.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
393add292bce526ca4e9de5a6bcf7d4e4f450009ca51e881bcdf33e61d7fe4d7
|
|
| MD5 |
73517ff20628e14d9c8bde539502a64e
|
|
| BLAKE2b-256 |
3d0af3786c5ccc9b83be0b00b31beabebf7f284ec49883bc42b810997f5055e2
|