Как работать с Binance Smart Chain (BEP20) используя python

В этой статье я вкратце расскажу как работать с Ether-based блокчейнами на примере Binance Smart Chain
Первым делом необходимо установить модуль web3. Модуль web3 предоставляет API для взаимодействия между приложениями разработанными на Python и блокчейном Ethereum (BSC и проч.)

pip install web3

Импортируем библиотеку

from web3 import Web3 import time, json bsc = 'https://bsc-dataseed.binance.org/' web3 = Web3(Web3.HTTPProvider(bsc))

Проверяем свой баланс. Метод fromWei конвертирует баланс из wei в ether.

address = 'You Address Wallet' balance = web3.eth.get_balance(address) print(balance) result = web3.fromWei(balance,'ether') print(result)

Проверить баланс выбранного токена.
Чтобы проверить баланс нужно иметь адрес контракта токена и его ABI. Что такое ABI можете загуглить. Достать его можно обратившись к

https://api.bscscan.com/api?module=contract&action=getabi&address={}
Вместо {} необходимо вставить адрес токена, который можно взять с bscscan.
В коде сразу же добавляем ABI в переменную используя библиотеку requests.

import json import requests from web3 import Web3 MyAddress = "" TokenAddress = "0x23396cF899Ca06c4472205fC903bDB4de249D6fC" #адрес контракта bsc = 'https://bsc-dataseed.binance.org/' web3 = Web3(Web3.HTTPProvider(bsc)) #получаем ABI ABI_get = requests.get("https://api.bscscan.com/api?module=contract&action=getabi&address={}".format(TokenAddress)) response = ABI_get.json() ABI=json.loads(response['result']) #получаем баланс contract = web3.eth.contract(address=TokenAddress, abi=ABI) token_balance = contract.functions.balanceOf(MyAddress).call() print(web3.fromWei(token_balance, 'ether'))

Так же можно всячески взаимодействовать с контрактом, например:

totalSupply = contract.functions.totalSupply().call() print(totalSupply) print(contract.functions.name().call()) print(contract.functions.symbol().call())

Найти функции контракта можно на BSCscan в разделе contract на странице самого контракта.

Как работать с Binance Smart Chain (BEP20) используя python

Не нашел на просторах РУ интернета подобного ПРОСТОГО гайда по тому, как достать информацию по токену (баланс, взаимодействие и тд). Пришлось рыскать и писать этот пост. Если помогло оставь комментарий <3

44
Начать дискуссию