Python API for TON (Telegram Open Network)
Project description
PyTONLib
This is standalone Python library based on libtonlibjson
, the functionality is similar to the ton-http-api
with the following restrictions:
- a client can connect to only one LiteServer;
- a client is asyncronious;
- no requests cache.
Installation
From PyPi
Currently, the library works for Windows, Mac and Linux on Intel CPUs.
Windows
- Install MSVC
To install package run
pip install pytonlib
Docker
Also, the library can be installed inside the Docker. To deploy the example of service with Docker Compose run:
docker-compose -f docker-compose.jupyter.yaml build
docker-compose -f docker-compose.jupyter.yaml up -d
This command runs Jupyter Notebook on port 3100 (http://localhost:3100).
Examples
- Connecting to the first LiteServer in mainnet config:
import requests
import asyncio
from pytonlib import TonlibClient
# downloading mainnet config
ton_config = requests.get('https://newton-blockchain.github.io/global.config.json').json()
# get running event loop
loop = asyncio.get_running_loop()
# init TonlibClient
client = TonlibClient(ls_index=0, # choose LiteServer index to connect
config=ton_config,
keystore='/tmp/ton_keystore',
loop=loop)
# init tonlibjson
await client.init(max_restarts=None)
- Reading blocks info:
masterchain_info = await client.get_masterchain_info()
block_header = await client.get_block_header(**masterchain_info['last'])
shards = await client.get_shards(master_seqno=masterchain_info['last']['seqno'])
- Reading Block Transactions for masterchain block:
masterchain_info = await client.get_masterchain_info()
txs = await client.get_block_transactions(**masterchain_info['last'], count=10)
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
pytonlib-0.0.4.tar.gz
(5.9 MB
view hashes)