Skip to main content

Scan for balance history

Project description

bisect_scanner

Determine crypro accounts balance history using bisection algorithm

Usage

>>> from bisect_scanner import EtherScanner, EthereumERC20Scanner

>>> account = '0x790370ff5045bCeCc2161f0913302FCCC7Ee256d'
>>> ETHEREUM_W3_URL = '...' # url for an archive node web3 or a web3 client instance
>>> scanner = EtherScanner(w3=ETHEREUM_W3_URL)
>>> [*scanner.balance_history(account='0x790370ff5045bCeCc2161f0913302FCCC7Ee256d')] 
[(0, 0.0),
 (11503731, 0.005),
 (12103372, 0.015),
 (12107610, 0.009),
 (12425773, 0.0)]

>>> scanner = EthereumERC20Scanner(w3=ETHEREUM_W3_URL,
	contract_address='0x0258f474786ddfd37abce6df6bbb1dd5dfc4434a')
>>> [*scanner.balance_history(account='0x790370ff5045bCeCc2161f0913302FCCC7Ee256d')]
[(10939214, 0.0), (11503719, 200.0), (12107610, 0.0)]

Installing bisect_scanner

bisect_scanner is available on PyPI:

$ pip install bisect-scanner

Command line utility

$ python -m bisect_scanner --help
usage: python -m bisecect_scanner [-h] --account ACCOUNT
                                  [--contract_address CONTRACT_ADDRESS]
                                  [--scan_step SCAN_STEP]
                                  [--precission PRECISSION]
                                  [--interpolation_step INTERPOLATION_STEP]
                                  [--start_block START_BLOCK]
                                  [--end_block END_BLOCK] [--polygon]
                                  [--ethereum] [--fake]

Outputs account balance history on stdout in the csv format,Example: python -m
bisect_scanner --account=0xCD6909C37CCEA877a5c8e9a3ffd69d9D9943409F

optional arguments:
  -h, --help            show this help message and exit
  --account ACCOUNT     address
  --contract_address CONTRACT_ADDRESS
                        ERC20 contract address
  --scan_step SCAN_STEP
                        scan step
  --precission PRECISSION
                        precission
  --interpolation_step INTERPOLATION_STEP
                        interpolation step
  --start_block START_BLOCK
                        Start Block
  --end_block END_BLOCK
                        End Block
  --polygon             Polygon (MATIC native Token)
  --ethereum            Ethereum (default)
  --fake                fake chain for testing purposes only

An Example

$ python -m bisect_scanner --account='0x790370ff5045bCeCc2161f0913302FCCC7Ee256d'
block,balance
0,0.0
11503731,0.005
12103372,0.015
12107610,0.009
12425773,0.0

Configuration

Configuration can be stored in ~/.config/bisect_scanner.ini file

Example of bisect_scanner.ini file

[node_urls]
W3_URL=archive_node_url_for_general_w3scanner
POLYGON_URL=argive_node_url_for_polygonscanner
ETHEREUM_URL=archive_node_url_for_etherscanner

Authors

bisect_scanner was written by Karel Novak.

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

bisect_scanner-0.2.5.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bisect_scanner-0.2.5-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file bisect_scanner-0.2.5.tar.gz.

File metadata

  • Download URL: bisect_scanner-0.2.5.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.9

File hashes

Hashes for bisect_scanner-0.2.5.tar.gz
Algorithm Hash digest
SHA256 c1388487796d55f8f9db838f79d79c2ecdab38b787392525b8b4d8c3c271a817
MD5 2f206cbbbf2c2ea01190ec1845b66bf0
BLAKE2b-256 94e091bddcf897cd0cbf140dbd0619979e1bfd8fe63062ce79b12aabe1905bb2

See more details on using hashes here.

File details

Details for the file bisect_scanner-0.2.5-py3-none-any.whl.

File metadata

  • Download URL: bisect_scanner-0.2.5-py3-none-any.whl
  • Upload date:
  • Size: 12.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.0 CPython/3.7.9

File hashes

Hashes for bisect_scanner-0.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 36a3bda0458960e036f1960c11c39ca6f1603055a26f4f44ddd5a8def8a39c59
MD5 2c518ff2ac695c84f41eb78c76480a07
BLAKE2b-256 825b89470ea77f8f3e71275a9de1332ccdea6e3f18006da17a81925d90144b55

See more details on using hashes here.

Supported by

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