TronJsonRPC

Класс TronJsonRPC предоставляет следующие функции для взаимодействия с сетью TRON.

class TronJsonRPC(rpc_url: Union[str, RpcUrl])

Класс принимает урл узла RPC.

from ipnpy.rpc import TronJsonRPC

provider_tron = TronJsonRPC("https://api.trongrid.io/")

Или

from ipnpy.rpc import TronJsonRPC
from ipnpy.rpc.enums import RpcUrl

provider_tron = TronJsonRPC(RpcUrl.TRON)

get_native_balance(address: str, raw: bool = True) -> Union[int, float]

Принимает:

  • address - адрес кошелька

  • raw - флаг, определяющий, возвращать необработанный баланс в sun (True) или баланс в TRX (False). По умолчанию True.

Возвращает баланс указанного адреса.

>>> from ipnpy.rpc import TronJsonRPC
>>> from ipnpy.rpc.enums import RpcUrl
>>> provider_tron = TronJsonRPC(RpcUrl.TRON)
>>> provider_tron.get_native_balance('TDEUKh6VZo29gj7Wv1ejUF9kXnSqXsZAai')
100000000
>>> provider_tron.get_native_balance('TDEUKh6VZo29gj7Wv1ejUF9kXnSqXsZAai', False)
100.0

send_native_token(private_key: str, from_address: str, to_address: str, amount: int) -> str

Отправляет нативную монету с одного адреса на другой. Транзакция будет подписана приватным ключом отправителя.

Принимает:

  • private_key - приватный ключ отправителя

  • from_address - адрес отправителя

  • to_address - адрес получателя

  • amount - сумма (в sun)

Возвращает хеш транзакции, который можно использовать для отслеживания транзакции в блокчейне.

>>> from ipnpy.rpc import TronJsonRPC
>>> from ipnpy.rpc.enums import RpcUrl
>>> provider_tron = TronJsonRPC(RpcUrl.TRON)
>>> provider_tron.send_native_token(
        private_key='.................omitted.....................',
        from_address='TPNWETTYWm3QF7AjPZgniHT6u65QkJkMqk',
        to_address='THnS6BKF5zSfh29x7Zk6MM6M96a5DRKD8A',
        amount=300000000
    )
c3c4f226fb0abe86c19b726fa12111e6ba359eb07a8fb92736e457e2fe2f40f6

get_trc20_balance(address: str, contract_address: str, raw: bool = True) -> Union[int, float]

Принимает:

  • address - адрес кошелька

  • contract_address- адрес контракта TRC20

  • raw - флаг, определяющий, возвращать необработанный баланс в sun (True) или баланс в TRX (False). По умолчанию True.

Возвращает количество TRC20 токенов, принадлежащих адресу.

>>> from ipnpy.rpc import TronJsonRPC
>>> from ipnpy.rpc.enums import RpcUrl
>>> provider_tron = TronJsonRPC(RpcUrl.TRON)
>>> provider_tron.get_trc20_balance(
        address='TDEUKh6VZo29gj7Wv1ejUF9kXnSqXsZAai',
        contract_address='TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t'
    )
100000000
>>> provider_tron.get_trc20_balance(
        address='TDEUKh6VZo29gj7Wv1ejUF9kXnSqXsZAai',
        contract_address='TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t'
        raw=False
    )
100.0

send_trc20_token(private_key: str, from_address: str, to_address: str, amount: int, contract_address: str) -> str

Отправляет TRC20 токен с одного адреса на другой. Транзакция будет подписана приватным ключом отправителя.

Принимает:

  • private_key - приватный ключ отправителя

  • from_address - адрес отправителя

  • to_address - адрес получателя

  • amount - сумма (в sun)

  • contract_address- адрес контракта TRC20

Возвращает хеш транзакции, который можно использовать для отслеживания транзакции в блокчейне.

>>> from ipnpy.rpc import TronJsonRPC
>>> from ipnpy.rpc.enums import RpcUrl
>>> provider_tron = TronJsonRPC(RpcUrl.TRON)
>>> provider_tron.send_trc20_token(
        private_key='.................omitted.....................',
        from_address='TBA6CypYJizwA9XdC7Ubgc5F1bxrQ7SqPt',
        to_address='TBndWCPup7XnpL3X2u76wAS3F4gksKqZx5',
        amount=200000000,
        contract_address='TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t'
    )
26ef417a76d01ff4664bcc93082e55a2a47829208a70b0652f6d667fdbae982f

Last updated