Skip to main content

ape-etherscan: Etherscan Explorer Plugin for Ethereum-based networks

Project description

Ape Etherscan Plugin

The following blockchain explorers are supported in this plugin:

Dependencies

  • python3 version 3.7.2 or greater, python3-dev

Installation

via pip

You can install the latest release via pip:

pip install ape-etherscan

via setuptools

You can clone the repository and use setuptools for the most up-to-date version:

git clone https://github.com/ApeWorX/ape-etherscan.git
cd ape-etherscan
python3 setup.py install

Quick Usage

Set up the environment

Specify API keys as environment variables. You could put them in your shell's config like ~/.profile or use a tool like direnv and store them locally in .envrc.

You can also specify multiple comma-separated keys, a random key will be chosen for each request. This could be useful if you hit API rate limits.

You can obtain an API key by registering with Etherscan and visitng this page.

export ETHERSCAN_API_KEY=SAMPLE_KEY
export FTMSCAN_API_KEY=SAMPLE_KEY
export ARBISCAN_API_KEY=SAMPLE_KEY

Transaction URLs

When you have this plugin installed, Etherscan explorer URLs appear in CLI output.

INFO: Submitted 0x123321123321123321123321123aaaadaaaee4b2aaa07901b80716cc357a9646
etherscan URL: https://rinkeby.etherscan.io/tx/0x123321123321123321123321123aaaadaaaee4b2aaa07901b80716cc357a9646

Contract Types

The ape-etherscan plugin also assists in fetching contract_types. Use the Contract top-level construct to create contract instances. When the explorer plugin locates a contract type for a given address, the Contract return-value uses that contract type.

from ape import accounts, Contract

contract = Contract("0x55a8a39bc9694714e2874c1ce77aa1e599461e18")
receipt = contract.call_mutable_method("arg0", sender=accounts.load("acct"))

The first line contract = Contract("0x55a8a39bc9694714e2874c1ce77aa1e599461e18") checks if ape has a cached contract-type for the address 0x55a8a39bc9694714e2874c1ce77aa1e599461e18. If it does not find a cached contract type, it uses an explorer plugin to attempt to find one. If found, the contract type is then cached to disk and in memory for the active session so that subsequent invocations don't require HTTP calls. The return value from Contract is a ContractInstance, so it is connected to your active provider and ready for transactions.

NOTE: Vyper contracts from Etherscan always return the name Vyper_contract. However, if the plugin detects that the contract type has a method named symbol, it will use the return value from that call instead.

Development

Please see the contributing guide to learn more how to contribute to this project. Comments, questions, criticisms and pull requests are welcomed.

License

This project is licensed under the Apache 2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ape-etherscan-0.4.0.tar.gz (74.3 kB view details)

Uploaded Source

Built Distribution

ape_etherscan-0.4.0-py3-none-any.whl (12.2 kB view details)

Uploaded Python 3

File details

Details for the file ape-etherscan-0.4.0.tar.gz.

File metadata

  • Download URL: ape-etherscan-0.4.0.tar.gz
  • Upload date:
  • Size: 74.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/35.0 requests/2.28.1 requests-toolbelt/0.9.1 urllib3/1.26.11 tqdm/4.64.0 importlib-metadata/4.12.0 keyring/23.7.0 rfc3986/2.0.0 colorama/0.4.5 CPython/3.8.13

File hashes

Hashes for ape-etherscan-0.4.0.tar.gz
Algorithm Hash digest
SHA256 2799d368d624cb096762bac1a56e0e12201e6d1a950751b9b4a14986dcdf2d8e
MD5 36ff0df65f8a627395c3a917982b1109
BLAKE2b-256 45229dad221020d2e2c5d45706bada48b29a755ee2225506be1fb31a72080c3a

See more details on using hashes here.

File details

Details for the file ape_etherscan-0.4.0-py3-none-any.whl.

File metadata

  • Download URL: ape_etherscan-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 12.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.3 readme-renderer/35.0 requests/2.28.1 requests-toolbelt/0.9.1 urllib3/1.26.11 tqdm/4.64.0 importlib-metadata/4.12.0 keyring/23.7.0 rfc3986/2.0.0 colorama/0.4.5 CPython/3.8.13

File hashes

Hashes for ape_etherscan-0.4.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9e205850fe48454515438176541594c06681f5cabbedf3df94b3815f112a0f05
MD5 a7756ef933cea696ba831162caefecc7
BLAKE2b-256 1191872ddc2b84db4479139124ab5cd9fde48e9a3268e7ecb68575c7b2fa30f3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page