Package: rstms-etherscan-python
etherscan-pythonA minimal, yet complete, Python API forEtherscan.io.All standard and pro endpoints are provided. Kovan, Rinkeby and Ropsten testnets are also supported.Available onPyPI. Powered byEtherscan.io APIs.EndpointsThe following endpoints are provided:Accounts(source)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_paginatedContracts(source)get_contract_abiget_contract_source_codeTransactions(source)get_contract_execution_statusget_tx_receipt_statusBlocks(source)get_block_reward_by_block_numberget_est_block_countdown_time_by_block_numberget_block_number_by_timestampGETH/Parity Proxy(source)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_indexget_proxy_transaction_countget_proxy_transaction_receiptget_proxy_callget_proxy_code_atget_proxy_storage_position_atget_proxy_gas_priceget_proxy_est_gasTokens(source)get_total_supply_by_contract_addressget_acc_balance_by_token_and_contract_addressGas Tracker(source)get_est_confirmation_timeget_gas_oracleStats(source)get_total_eth_supplyget_eth_last_priceget_eth_nodes_sizePro (PRO API key needed)(source)get_hist_eth_balance_for_address_by_block_noget_daily_average_block_sizeget_daily_block_count_and_rewardsget_daily_block_rewardsget_daily_average_block_timeget_daily_uncle_block_count_and_rewardsget_hist_erc20_token_total_supply_by_contract_address_and_block_noget_hist_erc20_token_account_balance_for_token_contract_address_by_block_noget_token_info_by_contract_addressget_daily_average_gas_limitget_eth_daily_total_gas_usedget_eth_daily_average_gas_priceget_eth_daily_network_tx_feeget_daily_new_address_countget_daily_network_utilizationget_daily_average_network_hash_rateget_daily_tx_countget_daily_average_network_difficultyget_eth_hist_daily_market_capget_eth_hist_priceIf you think that a newly-added method is missing, kindly open anissueas a feature request and I will do my best to add it.InstallationBefore proceeding, you should register an account onEtherscan.ioandgenerate a personal API keyto use.If you wish to have access to the PRO endpoints, you should obtain elevated privileges via Etherscan's subscription service.Install from source:pipinstallgit+https://github.com/pcko1/etherscan-python.gitAlternatively, install fromPyPI:pipinstalletherscan-pythonUnit testsInbash, test that everything looks OK on your end using yourYOUR_API_KEY(without quotation marks) before proceeding:bashrun_tests.shYOUR_API_KEYThis will regenerate the logs underlogs/with the most recent results and the timestamp of the execution.The tests also include the PRO endpoints so if your key is not PRO, the correspondings tests are expected to fail.UsageInpython, create a client with your personalEtherscan.ioAPI key:frometherscanimportEtherscaneth=Etherscan(YOUR_API_KEY)# key in quotation marksThen you can call all available methods, e.g.:eth.get_eth_balance(address="0xddbd2b932c763ba5b1b7ae3b362eac3e8d40121a")>'40891631566070000000000'You can also choose one of the other testnets:eth=Etherscan(YOUR_API_KEY,net="ropsten")# net name is case-insensitive, default is mainExamplesExamples (arguments and results) for all methods may be found as JSON fileshere.  For example, if you want to use the methodget_block_number_by_timestamp, you can find the supported arguments and the format of its output in its respectiveJSON file:{"method":"get_block_number_by_timestamp","module":"blocks","kwargs":{"timestamp":"1578638524","closest":"before"},"log_timestamp":"2020-10-28-12:34:44","res":"9251482"}wherekwargsrefer to the required named arguments andresrefers to the expected result if you were to run:eth.get_block_number_by_timestamp(timestamp="1578638524",closest="before")>'9251482'Disclaimer: Those examples blindly use the arguments originally showcasedhereand the selected wallets/contracts do not reflect any personal preference. You should refer to the same source for additional information regarding specific argument values.IssuesFor problems regarding installing or using the package please open anissue. Kindly avoid disclosing potentially sensitive information such as your API keys or your wallet addresses.CiteKotsias, P. C., pcko1/etherscan-python.https://github.com/pcko1/etherscan-python(2020). doi:10.5281/zenodo.4306855or inbibtex:@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}}Feel free to leave a :star: if you found this package useful.Powered byEtherscan.io APIs.