Skip to main content

Multicall batching middleware for asynchronous scripts using web3.py

Project description

Dank Mids

Dank Mids is a EVM RPC batching library that helps reduce the number of HTTP requests to a node, saving time and resources. It automatically collects eth_call calls into multicalls and bundles all RPC calls together in jsonrpc batch calls. tl;dr: its fast as fuck.

image

The goal of this tool is to reduce the workload on RPC nodes and allow users to make calls to their preferred node more efficiently. This optimization is especially useful for developers writing scripts that perform large-scale blockchain analysis, as it can save development time and resources.

Installation

To install Dank Mids, use pip:

pip install dank-mids

Usage with web3.py

The primary function you need to use Dank Mids is setup_dank_w3_from_sync. This function takes a sync Web3 instance and wraps it for async use. If using dank_mids with eth-brownie, you can just import the premade dank_web3 object as well

Example usage of Dank Mids with web3py:

from dank_mids.helpers import setup_dank_w3_from_sync
dank_web3 = setup_dank_w3_from_sync(w3)
# OR
from dank_mids.helpers import dank_web3

# Then:
random_block = await dank_web3.eth.get_block(123)

Usage with eth-brownie

Usage with ape

  • COMING SOON: Dank Mids will also work with ape.

Testimonials

Yearn big brain Tonkers Kuma had this to say:

image

Notes

You can also set DANK_MIDS_DEMO_MODE=True to see a visual representation of the batching in real time on your console.

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distribution

dank_mids-4.20.98.tar.gz (60.3 kB view details)

Uploaded Source

Built Distribution

dank_mids-4.20.98-py3-none-any.whl (73.1 kB view details)

Uploaded Python 3

File details

Details for the file dank_mids-4.20.98.tar.gz.

File metadata

  • Download URL: dank_mids-4.20.98.tar.gz
  • Upload date:
  • Size: 60.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.9.20 Linux/5.15.0-1074-azure

File hashes

Hashes for dank_mids-4.20.98.tar.gz
Algorithm Hash digest
SHA256 be15d2d1d1282b284fc85dd5489ba8bd1f920432d39214d517285fcfe8b7a190
MD5 e0159a6fca43f906526908570508293e
BLAKE2b-256 8d8aeff1fcf5e1bcff2751ced50e86f4a641c77e52f48e1ce619416a3c5dbb56

See more details on using hashes here.

File details

Details for the file dank_mids-4.20.98-py3-none-any.whl.

File metadata

  • Download URL: dank_mids-4.20.98-py3-none-any.whl
  • Upload date:
  • Size: 73.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.4 CPython/3.9.20 Linux/5.15.0-1074-azure

File hashes

Hashes for dank_mids-4.20.98-py3-none-any.whl
Algorithm Hash digest
SHA256 13d8f012caaf4129b448c75e119f3ec2b0e8f1bf6dc7f1d66c4075a65ed4c9b4
MD5 8a3529f0c3ed4864e83c7d6b41cd7e8f
BLAKE2b-256 2b614bcd0b5afe5c91945b5ea5c8ebe9ff5fbae0b6895881e9f430c894fc11cd

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