etherscan-python
项目描述
etherscan-python
一个最小化且完整的针对Etherscan.io的Python API。
提供了所有标准和专业端点。支持Kovan、Rinkeby和Ropsten测试网。
可在PyPI上找到。由Etherscan.io API提供支持。
端点
以下提供了以下端点
账户 (来源)
get_eth_balance
get_eth_balance_multiple
get_normal_txs_by_address
get_normal_txs_by_address_paginated
get_internal_txs_by_address
get_internal_txs_by_address_paginated
get_internal_txs_by_txhash
get_internal_txs_by_block_range_paginated
get_erc20_token_transfer_events_by_address
get_erc20_token_transfer_events_by_contract_address_paginated
get_erc20_token_transfer_events_by_address_and_contract_paginated
get_erc721_token_transfer_events_by_address
get_erc721_token_transfer_events_by_contract_address_paginated
get_erc721_token_transfer_events_by_address_and_contract_paginated
get_mined_blocks_by_address
get_mined_blocks_by_address_paginated
区块 (来源)
get_block_reward_by_block_number
get_est_block_countdown_time_by_block_number
get_block_number_by_timestamp
GETH/Parity 代理 (来源)
get_proxy_block_number
get_proxy_block_by_number
get_proxy_uncle_by_block_number_and_index
get_proxy_block_transaction_count_by_number
get_proxy_transaction_by_hash
get_proxy_transaction_by_block_number_and_index
获取代理交易计数
获取代理交易收据
获取代理调用
获取代理代码在
获取代理存储位置在
获取代理燃气价格
获取代理估计燃气
专业版(需要PRO API密钥) (来源)
按区块编号获取地址历史以太币余额
获取每日平均区块大小
获取每日区块数量和奖励
获取每日区块奖励
获取每日平均区块时间
获取每日叔父区块数量和奖励
按合约地址和区块编号获取ERC20代币总供应量历史记录
按区块编号获取ERC20代币账户余额历史记录
按合约地址获取代币信息
获取每日平均燃气限制
获取以太币每日总燃气使用量
获取以太币每日平均燃气价格
获取以太币每日网络交易费
获取每日新地址数量
获取每日网络利用率
获取每日平均网络算力
获取每日交易数量
获取每日平均网络难度
获取以太币历史每日市值
获取以太币历史价格
如果您认为缺少了一个新添加的方法,请友好地打开一个 问题 作为功能请求,我会尽力添加。
安装
在继续之前,您应在 Etherscan.io 上注册一个账户并 生成一个个人API密钥 以供使用。
如果您希望访问PRO端点,您应通过Etherscan的订阅服务获得提升权限。
从源安装
pip install git+https://github.com/pcko1/etherscan-python.git
或者,从 PyPI 安装
pip install etherscan-python
单元测试
在 bash
中,在继续之前使用您的 YOUR_API_KEY
(不带引号)测试一切是否正常
bash run_tests.sh YOUR_API_KEY
这将在 logs/
下重新生成日志,包括最新的结果和执行时间戳。
测试还包括PRO端点,所以如果您的密钥不是PRO,相应的测试可能会失败。
用法
在 python
中,使用您的个人 Etherscan.io API密钥创建一个客户端
from etherscan import Etherscan
eth = Etherscan(YOUR_API_KEY) # key in quotation marks
然后您可以调用所有可用的方法,例如。
eth.get_eth_balance(address="0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a")
> '40891631566070000000000'
您也可以选择其他测试网
eth = Etherscan(YOUR_API_KEY, net="ropsten") # net name is case-insensitive, default is main
示例
所有方法的示例(参数和结果)可以作为JSON文件在此处找到 这里。例如,如果您想使用方法 get_block_number_by_timestamp
,您可以在其各自的 JSON文件 中找到支持的参数及其输出格式
{
"method": "get_block_number_by_timestamp",
"module": "blocks",
"kwargs": {
"timestamp": "1578638524",
"closest": "before"
},
"log_timestamp": "2020-10-28-12:34:44",
"res": "9251482"
}
其中 kwargs
指的是必需的命名参数,res
指的是您运行时的预期结果
eth.get_block_number_by_timestamp(timestamp="1578638524", closest="before")
> '9251482'
免责声明:这些示例盲目使用原本在此处展示的参数,并且选择的钱包/合约不代表任何个人偏好。您应参考相同来源以获取有关特定参数值的其他信息。
问题
有关安装或使用软件包的问题,请打开一个 问题。请避免泄露可能敏感的信息,如您的API密钥或您的钱包地址。
引用
Kotsias, P. C., pcko1/etherscan-python. https://github.com/pcko1/etherscan-python (2020). doi:10.5281/zenodo.4306855
或者以 bibtex
格式
@misc{Kotsias2020,
author = {Kotsias, P.C.},
title = {pcko1/etherscan-python},
year = {2020},
publisher = {Zenodo},
url = {https://github.com/pcko1/etherscan-python},
doi = {10.5281/zenodo.4306855}
}
如果您觉得这个包很有用,请随意留下一个 :star:
由 Etherscan.io API 提供支持。
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源代码分发
构建分发
rstms-etherscan-python-2.1.11.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 49e53df42c8507ccf808c4052c000ee2ebe31f9b0eea5a7fbfd9919b263f64c6 |
|
MD5 | 660e785cf3d18434412bfbe8ce7a3cf7 |
|
BLAKE2b-256 | 820d43a012bc6c90cd043f6e85ce92642fd2a2a4d7bb695898871a9b63aff232 |
rstms_etherscan_python-2.1.11-py2.py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bc9b4a062418c01a4b5604269ed4c5c31c73020d117ac389a4c8aa90e8489819 |
|
MD5 | c2b616f3dcc8c191efac91296974ee88 |
|
BLAKE2b-256 | 8084a3f7328e3c49feafe3c8b8bdbb9a960aa6fe0130c51f1354f4f2b74680c3 |