Skip to main content

No project description provided

Project description

eth-blocky

Build Status PyPI version License: MIT

Package providing date utilities for finding blocks.

With eth-blocky, you can:

  1. Find the closest block to a given timestamp that happened before
  2. Find the closest block to a given timestamp that happened at the exact same time or after

Installation

  1. pip install eth-blocky

Usage

Provide a timestamp for which you want to find the closest block, and as a result you will get the block object. For more information check out web3 docs

from eth_blocky import EthBlocky

client = EthBlocky(NODE_URL)

# 2021-03-11T12:00:00
timestamp = 1615464000

block = client.closest_block(timestamp, before=True)
print(block.number)
# 12017166

block = client.closest_block(timestamp)
print(block.number)
# 12017167

Method

eth-blocky works as an optimized binary search. Start with finding the first and latest block as the boundry. Left and right block.

Steps:

  1. Get left and right block and their timestamps
  2. Calculate the average time for blocks to being mined in this time range
  3. Estimate distance from start block based on timestamps [1, 3, 10] -> 0.3
  4. Estimate wanted block based on distance
  5. Calculate potential error
  6. Repeat from step 1 with [estimated block - error, estimated block + error] as the left and right block

The process is repeated until left block is equal to right block.

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

eth_blocky-0.2.3.tar.gz (3.1 kB view details)

Uploaded Source

Built Distribution

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

eth_blocky-0.2.3-py3-none-any.whl (3.7 kB view details)

Uploaded Python 3

File details

Details for the file eth_blocky-0.2.3.tar.gz.

File metadata

  • Download URL: eth_blocky-0.2.3.tar.gz
  • Upload date:
  • Size: 3.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.4 Darwin/21.6.0

File hashes

Hashes for eth_blocky-0.2.3.tar.gz
Algorithm Hash digest
SHA256 7de17fc247a0feed83d9f8d5e89b2ca2263653ecec69b164fa42cd5e2ea74980
MD5 d25c2d90b7b485c7f27aec89716d8e28
BLAKE2b-256 44aefcdc18141d764f552e6a49d50e3283b7e8090bbec7584d8f366e50c3a3a6

See more details on using hashes here.

File details

Details for the file eth_blocky-0.2.3-py3-none-any.whl.

File metadata

  • Download URL: eth_blocky-0.2.3-py3-none-any.whl
  • Upload date:
  • Size: 3.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.11.4 Darwin/21.6.0

File hashes

Hashes for eth_blocky-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 a6841ceab83101ab5449e3f3fcfca0ddcd9c1a549e3c4c16d5b719cf759719c3
MD5 56545441f7befeb553b0d6d5ea07f4dc
BLAKE2b-256 f0d94302ee7e913654b44ff24f8040c9bdc3b9d370cda08beb5580ea7a23bb9e

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