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
Last updated