etherscan-python
项目描述
etherscan-python
一个最小化且完整的针对Etherscan.io的Python API。
提供了所有标准和专业端点。支持Kovan、Rinkeby和Ropsten测试网。
可在PyPI上找到。由Etherscan.io API提供支持。
端点
以下提供了以下端点
账户 (来源)
get_eth_balanceget_eth_balance_multipleget_normal_txs_by_addressget_normal_txs_by_address_paginatedget_internal_txs_by_addressget_internal_txs_by_address_paginatedget_internal_txs_by_txhashget_internal_txs_by_block_range_paginatedget_erc20_token_transfer_events_by_addressget_erc20_token_transfer_events_by_contract_address_paginatedget_erc20_token_transfer_events_by_address_and_contract_paginatedget_erc721_token_transfer_events_by_addressget_erc721_token_transfer_events_by_contract_address_paginatedget_erc721_token_transfer_events_by_address_and_contract_paginatedget_mined_blocks_by_addressget_mined_blocks_by_address_paginated
区块 (来源)
get_block_reward_by_block_numberget_est_block_countdown_time_by_block_numberget_block_number_by_timestamp
GETH/Parity 代理 (来源)
get_proxy_block_numberget_proxy_block_by_numberget_proxy_uncle_by_block_number_and_indexget_proxy_block_transaction_count_by_numberget_proxy_transaction_by_hashget_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 |