Skip to main content

Python client for The Open Network

Project description

Introduction

This library is built entirely according to the standards of the selected language in order to admire the functionality.

PyPI version

Install TON using pip:

$ pip install ton

or (if error with illegal instructions):

$ git clone https://github.com/psylopunk/ton && cd ton
$ chmod +x build_tonlib.sh && ./build_tonlib.sh # docker is needed

Now, let's get started:

>>> from ton import TonlibClient
>>>
>>> # Initiate module
>>> client = TonlibClient()
>>> await client.init_tonlib()
>>> 
>>> # Wallet generation
>>> wallet = await client.create_wallet()
>>> wallet
Wallet<EQCi-D5OSmueD61_ZCw7D_tcMMjB8E5e5AECZT7lCM2Gm6O1>
>>>
>>> # Get a word list
>>> seed = await wallet.export()
>>>
>>> # Importing wallet
>>> wallet = await client.import_wallet(seed)
>>>
>>> # Get saved wallet from Keystore
>>> path = wallet.path
>>> wallet = await client.find_wallet(path)
>>>
>>> # Getting an address
>>> wallet.account_address.account_address
EQCi-D5OSmueD61_ZCw7D_tcMMjB8E5e5AECZT7lCM2Gm6O1
>>>
>>> # Viewing transactions
>>> txs = await wallet.get_transactions()
>>> in_msg = txs[0].in_msg
>>> in_msg.source.account_address # Sender
EQBPhcJanCxCYc-eiSxUVcm7I4-PfHODzBNhY1Cd3R5IP041
>>> in_msg.destination.account_address # Recipient
EQCi-D5OSmueD61_ZCw7D_tcMMjB8E5e5AECZT7lCM2Gm6O1
>>> from ton.utils import from_nano
>>> from_nano(int(in_msg.value)) # Amount
0.6
>>> 
>>> # Sending transaction
>>> from ton.utils import to_nano
>>> await wallet.transfer('EQBPhcJanCxCYc-eiSxUVcm7I4-PfHODzBNhY1Cd3R5IP041', to_nano(0.3), comment='test')
{
    "@type": "ok",
    "@extra": "1648032761.9897776:0:0.6654941473285754"
}
>>> # View account
>>> account = await client.find_account('EQBPhcJanCxCYc-eiSxUVcm7I4-PfHODzBNhY1Cd3R5IP041')
>>> txs = await account.get_transactions()

Documentation

To get acquainted with all the basics, go to Developer Interface

Troubleshooting

Read more about this in Troubleshooting

Dependencies

The TON library relies on these excellent libraries:

  • crc16 - Library for calculating CRC16
  • poetry - Python packaging and dependency management made easy
  • requests - HTTP interface for python
  • ujson - Ultra fast JSON encoder and decoder
  • ed25519 - Public-key signature system

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

ton-0.16.tar.gz (2.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ton-0.16-py3-none-any.whl (2.2 MB view details)

Uploaded Python 3

File details

Details for the file ton-0.16.tar.gz.

File metadata

  • Download URL: ton-0.16.tar.gz
  • Upload date:
  • Size: 2.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.7 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/1.5.0 colorama/0.4.4 CPython/3.8.9

File hashes

Hashes for ton-0.16.tar.gz
Algorithm Hash digest
SHA256 012e9e39c7f29a17f44471c4bb0d994f35bf7f47bb140fd0f56cf6637eba2e46
MD5 0d5c89a209611bf12d8fb187f06e8b9c
BLAKE2b-256 ec9defa611177f77145cef501326b8e826b278e32d4810fc51e09ee600002f85

See more details on using hashes here.

File details

Details for the file ton-0.16-py3-none-any.whl.

File metadata

  • Download URL: ton-0.16-py3-none-any.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.26.0 requests-toolbelt/0.9.1 urllib3/1.26.7 tqdm/4.62.3 importlib-metadata/4.11.0 keyring/23.5.0 rfc3986/1.5.0 colorama/0.4.4 CPython/3.8.9

File hashes

Hashes for ton-0.16-py3-none-any.whl
Algorithm Hash digest
SHA256 8d0b73558de7aa3655ddf23d651bfca86d08ad9c91b28c7fe92ce1e52d3f1e59
MD5 5ee15a2d67f9ea07e80872d750d881f6
BLAKE2b-256 9f97daafea5caaff17599efe31dc7f4297c72c2d1fe2dcc00132d2c623206256

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