Etherscan
Etherscan 是以太坊(一个去中心化的智能合约平台)的领先的区块链浏览器、搜索、API 和分析平台。
概览
Etherscan 加载器使用 Etherscan API 来加载指定账户在 Ethereum Mainnet 上的交易历史记录。
您需要一个 Etherscan api key 才能继续。免费 api key 的请求限制为每秒 5 次调用。
该加载器支持以下六种功能:
- 检索指定账户在 Ethereum Mainnet 上的普通交易
- 检索指定账户在 Ethereum Mainnet 上的内部交易
- 检索指定账户在 Ethereum Mainnet 上的 erc20 交易
- 检索指定账户在 Ethereum Mainnet 上的 erc721 交易
- 检索指定账户在 Ethereum Mainnet 上的 erc1155 交易
- 检索指定账户在 Ethereum Mainnet 上的 ethereum 余额(以 wei 为单位)
如果账户没有相应的交易,加载器将返回一个包含单个文档的列表。文档内容为 ''。
您可以传递不同的过滤器给加载器,以访问我们上面提到的不同功能:
- "normal_transaction"
- "internal_transaction"
- "erc20_transaction"
- "eth_balance"
- "erc721_transaction"
- "erc1155_transaction" 过滤器默认为 normal_transaction。
如果您有任何疑问,可以访问 Etherscan API Doc 或通过 i@inevitable.tech 与我联系 。
所有与交易历史记录相关的函数都限制为最多 1000 条记录,这是由 Etherscan 的限制决定的。您可以使用以下参数来查找所需的交易历史记录:
- offset: 默认为 20。一次显示 20 条交易记录。
- page: 默认为 1。控制分页。
- start_block: 默认为 0。交易历史记录从第 0 个区块开始。
- end_block: 默认为 99999999。交易历史记录从第 99999999 个区块开始。
- sort: "desc" 或 "asc"。默认为 "desc",以获取最新的交易记录。
设置
%pip install --upgrade --quiet langchain -q
etherscanAPIKey = "..."
import os
from langchain_community.document_loaders import EtherscanLoader
API Reference:EtherscanLoader
os.environ["ETHERSCAN_API_KEY"] = etherscanAPIKey
创建一个 ERC20 交易加载器
This example shows you how to create a basic
account_address = "0x9dd134d14d1e65f84b706d6f205cd5b1cd03a46b"
loader = EtherscanLoader(account_address, filter="erc20_transaction")
result = loader.load()
eval(result[0].page_content)
{'blockNumber': '13242975',
'timeStamp': '1631878751',
'hash': '0x366dda325b1a6570928873665b6b418874a7dedf7fee9426158fa3536b621788',
'nonce': '28',
'blockHash': '0x5469dba1b1e1372962cf2be27ab2640701f88c00640c4d26b8cc2ae9ac256fb6',
'from': '0x2ceee24f8d03fc25648c68c8e6569aa0512f6ac3',
'contractAddress': '0x2ceee24f8d03fc25648c68c8e6569aa0512f6ac3',
'to': '0x9dd134d14d1e65f84b706d6f205cd5b1cd03a46b',
'value': '298131000000000',
'tokenName': 'ABCHANGE.io',
'tokenSymbol': 'XCH',
'tokenDecimal': '9',
'transactionIndex': '71',
'gas': '15000000',
'gasPrice': '48614996176',
'gasUsed': '5712724',
'cumulativeGasUsed': '11507920',
'input': 'deprecated',
'confirmations': '4492277'}