Python SDK for TON Connect
Project description
TonConnect
TonConnect is a Python library that allows you to connect to TON wallets, manage connections, handle messages, and send requests to the wallet. It provides a convenient way to interact with TON wallets and perform various operations.
Installation
To install TonConnect, you can use pip:
pip install ton-connect
Usage
TonConnect Class
The TonConnect
class is responsible for managing connections to TON wallets. It provides methods to connect to a wallet, restore a connection, handle messages, start and stop listeners, and send requests to the wallet.
Initializing TonConnect
To initialize the TonConnect
class, you need to provide the manifest URL and a storage instance. The manifest URL is the URL to the manifest file of your app, and the storage instance is used to store connection data. Note that the first argument to DictStorage
is the user id.
from ton_connect.connector import TonConnect
from ton_connect.storage import DictBridgeStorage
manifest_url = "https://example.com/manifest.json"
storage = DictBridgeStorage("user_id")
ton_connect = TonConnect(manifest_url, storage)
Connecting to a Wallet
To connect to a wallet, you need to provide a WalletApp
instance. The WalletApp
class represents a wallet app and contains information such as the app name, bridge URL, and universal URL.
You can also use the TonConnect.get_wallets
method to get a list of supported wallet apps.
from ton_connect.model.app.wallet import WalletApp
from ton_connect.connector import TonConnect
wallets = await TonConnect.get_wallets()
wallet = wallets[0]
connect_url = await ton_connect.connect(wallet)
print("Connect URL:", connect_url)
Restoring a Connection
To restore a connection to a wallet, you can use the restore_connection
method. This method restores the connection using the stored connection data.
await ton_connect.restore_connection(wallet)
Sending Requests
The TonConnect
class provides methods to send various requests to the wallet. For example, you can send a transaction request using the SendTransactionRequest
class.
from ton_connect.model.app.request import SendTransactionRequest, SendTransactionMessage
request = SendTransactionRequest(
address="0:1234567890abcdef",
network=1,
messages=[
SendTransactionMessage(
address="0:abcdef1234567890",
amount="1000000000"
)
]
)
response = await ton_connect.send(wallet.app_name, request)
print("Response:", response)
Listening for Wallet Events
The TonConnect
class allows you to listen for wallet events by adding event listeners. You can add event listeners for events such as connect, disconnect, and errors.
from ton_connect.model.wallet.event import WalletEventName
from ton_connect.connector import ConnectorEvent
async def on_connect(event: ConnectorEvent):
print("Connected:", event)
async def on_disconnect(event: ConnectorEvent):
print("Disconnected:", event)
ton_connect.listen(WalletEventName.CONNECT, on_connect)
ton_connect.listen(WalletEventName.DISCONNECT, on_disconnect)
License
This project is licensed under the MIT License.
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
Built Distribution
File details
Details for the file ton_connect_async-0.2.18.tar.gz
.
File metadata
- Download URL: ton_connect_async-0.2.18.tar.gz
- Upload date:
- Size: 17.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.11.1 Darwin/24.2.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2c70dfb4aa8e0a2639411b73fd3eb8b2df4ce408d861cb1b7bbbbb33a509cc5e |
|
MD5 | f236d64cfb8af5a9b42fff1c3081dcf6 |
|
BLAKE2b-256 | 63c9d30142335f5183ccecf2038b53c791f1620121e7e697067faf44b436f144 |
File details
Details for the file ton_connect_async-0.2.18-py3-none-any.whl
.
File metadata
- Download URL: ton_connect_async-0.2.18-py3-none-any.whl
- Upload date:
- Size: 22.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.11.1 Darwin/24.2.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d0bde5992a00c3a6b5daf1050a253723e9494f7f51bcaba2ad303eca95299969 |
|
MD5 | 8196493d947540cb91e5c98789b1191f |
|
BLAKE2b-256 | 8278f8a38105f66dafc6765c0fbabc55a2440dc7eb72ee3a34f55658f216e138 |