/pytonapi

TonAPI SDK allows developers to build decentralized applications on top of the TON blockchain without having to deal with the complexity of the underlying technology.

Primary LanguagePythonMIT LicenseMIT

📦 PyTONAPI

TON PyPI Python Versions License

Image

Downloads Downloads Downloads

Python SDK for tonapi.io.
Information about the API can be found in the documentation.
To use the API you need an API key, you can get it here tonconsole.com.

For creating wallets, transferring TON, Jetton, NFTs, and other operations, recommend using tonutils in combination with TonapiClient. For more information, refer to the library documentation.

Usage

Installation

pip install pytonapi

Examples

  • Asynchronous

    from pytonapi import AsyncTonapi
    
    
    # Declare an asynchronous function for using await
    async def main():
        # Create a new Tonapi object with the provided API key
        tonapi = AsyncTonapi(api_key="Your API key")
    
        # Specify the account ID
        account_id = "EQC-3ilVr-W0Uc3pLrGJElwSaFxvhXXfkiQA3EwdVBHNNess"  # noqa
    
        # Retrieve account information asynchronously
        account = await tonapi.accounts.get_info(account_id=account_id)
    
        # Print account details
        print(f"Account Address (raw): {account.address.to_raw()}")
        print(f"Account Address (userfriendly): {account.address.to_userfriendly(is_bounceable=True)}")
        print(f"Account Balance (nanoton): {account.balance.to_nano()}")
        print(f"Account Balance (amount): {account.balance.to_amount()}")
    
    
    if __name__ == '__main__':
        import asyncio
    
        # Run the asynchronous function
        asyncio.run(main())
  • Synchronous

    from pytonapi import Tonapi
    
    
    def main():
        # Create a new Tonapi object with the provided API key
        tonapi = Tonapi(api_key="Your API key")
    
        # Specify the account ID
        account_id = "EQC-3ilVr-W0Uc3pLrGJElwSaFxvhXXfkiQA3EwdVBHNNess"  # noqa
    
        # Retrieve account information
        account = tonapi.accounts.get_info(account_id=account_id)
    
        # Print account details
        print(f"Account Address (raw): {account.address.to_raw()}")
        print(f"Account Address (userfriendly): {account.address.to_userfriendly(is_bounceable=True)}")
        print(f"Account Balance (nanoton): {account.balance.to_nano()}")
        print(f"Account Balance (amount): {account.balance.to_amount()}")
    
    
    if __name__ == '__main__':
        main()
  • Additional examples can be found examples folder.

Donations

TON - EQC-3ilVr-W0Uc3pLrGJElwSaFxvhXXfkiQA3EwdVBHNNess

USDT (TRC-20) - TJjADKFT2i7jqNJAxkgeRm5o9uarcoLUeR

Contribution

We welcome your contributions! If you have ideas for improvement or have identified a bug, please create an issue or submit a pull request.

Support

Supported by TONAPI and TON Society (Grants and Bounties program).

License

This repository is distributed under the MIT License. Feel free to use, modify, and distribute the code in accordance with the terms of the license.