【问题标题】:How to get BEP20 token transfer details in python?如何在 python 中获取 BEP20 代币转账详细信息?
【发布时间】:2021-08-24 22:27:03
【问题描述】:

我是区块链新手,并尝试使用python-API 从 BscScan 获取交易详情。我正在使用链接中显示的示例。

from bscscan import BscScan
async with BscScan(YOUR_API_KEY) as client:
    print(
        await client.get_bep20_token_transfer_events_by_address(
            address="0x63aea877b5d5fa234a1532f1b26a4f6d9051866e",
            startblock=0,
            endblock=999999999,
            sort="asc"
        )
    )

这个例子展示了一些细节,但不是全部。例如,它不显示“已转移代币”详细信息,例如: Image.

我有几个问题,希望有人能帮我找到答案。

  1. 如图所示,我如何才能从交易中获得支付的金额以及使用什么货币?
  2. 收到了多少代币?
  3. 以上示例返回“timeStamp”:“1611843685”。如何将其转换为实际日期,例如:2021-06-07?

如果有其他更好的 API(不一定是 python)来获取详细信息,请告诉我。

提前致谢。

【问题讨论】:

  • 嗨 BasicTex,只是想知道您是否设法稍后从 API 获取令牌传输的详细信息。我看到您打算通过爬网直接从网站获取数据。你成功了吗?

标签: python binance binance-smart-chain


【解决方案1】:

这就是我为获取交易信息所做的。我不确定我们是否指的是同一件事,但对我来说,我想获得特定指定代币的 DEX 交易。这是我的代码。顺便说一句,您必须输入自己的 API 密钥和令牌地址。此外,我还去掉了许多我认为无用的变量。

import requests
from datetime import datetime
import pandas as pd

API_KEY = ''

#Get a list of "BEP-20 - Token Transfer Events" by Address

ADDRESS = ''

url = 'https://api.bscscan.com/api?module=account&action=tokentx&contractaddress='+ADDRESS+'&page=1&offset=100&sort=desc&apikey=' + API_KEY

response = requests.get(url)

transactions = []
for i in response.json()['result']:
    #print(i)
    ts = int(i['timeStamp'])
    temp = {
        'timeStamp': datetime.utcfromtimestamp(ts).strftime('%Y-%m-%d %H:%M:%S'),
        'from': i['from'],
        'to': i['to'],
        'value': int(i['value'])/1000000000000000000,
        'tokenName': i['tokenName']
    }
    #print(temp)
    transactions.append(temp)

pd.DataFrame(transactions)

【讨论】:

  • 感谢您的帖子。但我正在寻找跟踪我自己的各种 BEP-20 代币的交易。您的代码仅针对特定令牌执行此操作。它也只需要前 100 笔交易。
  • 我更感兴趣的是找到购买硬币所花费的金额。在上面的代码中,值只会返回收到的代币数量,并不会告诉你花费的金额。
猜你喜欢
  • 1970-01-01
  • 2022-08-03
  • 1970-01-01
  • 1970-01-01
  • 2013-03-31
  • 1970-01-01
  • 1970-01-01
  • 2023-03-04
  • 1970-01-01
相关资源
最近更新 更多