📖
База знаний IPN.tools
  • ℹ️Общая информация
    • Что такое IPN?
    • Какие сети поддерживает IPN?
    • Как может выглядеть процесс оплаты для моего клиента?
    • На чьих кошельках хранятся средства?
    • Нужно ли мне проходить верификацию?
    • Что такое баланс и как его пополнить?
  • 🔧Начало работы
    • Как зарегистрироваться в IPN?
    • Как начать использовать IPN?
    • Как настроить правило, чтоб получать уведомления?
    • Как создать/обновить список адресов?
    • Как добавить сайт, чтоб получать уведомления?
    • Как настроить отправку уведомлений в Телеграм аккаунт?
    • Как получить API ключ для получения уведомлений по WebSocket?
    • Как протестировать отправку уведомлений?
  • 🧹Устранение неполадок
    • Как долго мне нужно ждать поступления средств на кошелек?
    • Клиент перевел мне средства, но я не получил уведомление
    • Не могу зарегистрироваться/войти в аккаунт IPN
  • 💡Дополнительно
    • Что такое нативная монета и в чем ее отличие от токена?
    • Что такое адрес контракта и где его найти?
    • Что такое вебхук?
  • 🖥️РАЗРАБОТЧИКАМ
    • Быстрый старт
    • Общие конечные точки
    • Публичный WebSocket API
    • IPNTools
    • EvmJsonRPC
    • TronJsonRPC
    • Уведомления
Powered by GitBook
On this page
  1. РАЗРАБОТЧИКАМ

EvmJsonRPC

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

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

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

from ipnpy.rpc import EvmJsonRPC

provider_binance = EvmJsonRPC("https://bsc-dataseed.binance.org/")

Или

from ipnpy.rpc import EvmJsonRPC
from ipnpy.rpc.enums import RpcUrl

provider_binance = EvmJsonRPC(RpcUrl.BINANCE)

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

Принимает:

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

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

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

>>> from ipnpy.rpc import EvmJsonRPC
>>> from ipnpy.rpc.enums import RpcUrl
>>> provider_binance = EvmJsonRPC(RpcUrl.BINANCE)
>>> provider_binance.get_native_balance('0x3e09a54e5ad60fbd91965e94f3705d190071b7381')
10000000000000000
>>> provider_binance.get_native_balance('0x3e09a54e5ad60fbd91965e94f3705d190071b738', False)
0.01

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

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

Принимает:

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

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

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

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

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

>>> from ipnpy.rpc import EvmJsonRPC
>>> from ipnpy.rpc.enums import RpcUrl
>>> provider_binance = EvmJsonRPC(RpcUrl.BINANCE)
>>> provider_binance.send_native_token(
        private_key='.................omitted.....................',
        from_address='0xAE5d32B6f9472385Fa2DF37B964b05100ee2fbF4',
        to_address='0x42D431782A4A11b2cdDa50900b3a0FA0Ce262430',
        amount=22339180052983328
    )
0x8e3fa5bf605591740c8306f381dd5b46f5818a5d71ec54a26e4aa607154f85e8

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

Принимает:

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

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

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

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

>>> from ipnpy.rpc import EvmJsonRPC
>>> from ipnpy.rpc.enums import RpcUrl
>>> provider_binance = EvmJsonRPC(RpcUrl.BINANCE)
>>> provider_binance.get_erc20_balance(
            address='0x3e09a54e5ad60fbd91965e94f3705d190071b738',
            contract_address='0x55d398326f99059fF775485246999027B3197955'
        )
100000000000000000000
>>> provider_binance.get_erc20_balance(
        address='0x3e09a54e5ad60fbd91965e94f3705d190071b738',
        contract_address='0x55d398326f99059ff775485246999027b3197955'
        raw=False
    )
100.0

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

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

Принимает:

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

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

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

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

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

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

>>> from ipnpy.rpc import EvmJsonRPC
>>> from ipnpy.rpc.enums import RpcUrl
>>> provider_binance = EvmJsonRPC(RpcUrl.BINANCE)
>>> provider_binance.send_native_token(
        private_key='.................omitted.....................',
        from_address='0x9c70e4d852dd3f4d73ddf5e676af1781f8330ca6',
        to_address='0xb494da2fddc47ad61a5f2668c6fbff53d77247d2',
        amount=250000000000000000000,
        contract_address='0x55d398326f99059ff775485246999027b3197955'
    )
0xaf6d512d0cdf21cc57582a81674513c6a820b6f3095b6b9d9802654e32e9821e
PreviousIPNToolsNextTronJsonRPC

Last updated 1 year ago

🖥️