Skip to main content

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


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)

Uploaded Source

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

Hashes for mytonlib-0.7.2.tar.gz
Algorithm Hash digest
SHA256 393add292bce526ca4e9de5a6bcf7d4e4f450009ca51e881bcdf33e61d7fe4d7
MD5 73517ff20628e14d9c8bde539502a64e
BLAKE2b-256 3d0af3786c5ccc9b83be0b00b31beabebf7f284ec49883bc42b810997f5055e2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page