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.
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 CRC16poetry
- Python packaging and dependency management made easyrequests
- HTTP interface for pythonujson
- Ultra fast JSON encoder and decodered25519
- Public-key signature system
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
ton-0.16.tar.gz
(2.1 MB
view hashes)
Built Distribution
ton-0.16-py3-none-any.whl
(2.2 MB
view hashes)