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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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