Skip to main content

EIP-4337 python Bundler

Project description

Voltaire

Modular, developer-friendly and lighting-fast Python Bundler for Ethereum EIP-4337 Account Abstraction

The project is still work in progress.

chat on Discord

Deployment

Deploy Voltaire using the latest docker image

docker run --net=host --rm -ti ghcr.io/candidelabs/voltaire/voltaire-bundler:latest --entrypoint $ENTRYPOINT --bundler_secret $BUNDLER_SECRET --rpc_url $RPC_URL --rpc_port $PORT --ethereum_node_url $ETHEREUM_NODE_URL --chain_id $CHAIN_ID --verbose

Development

The information provided is only a rough estimate based on the current implementation. We plan on publishing more documentation for different developer audiences as we move forward.

Ubuntu: Get started testing the bundler in 5 minutes

Install Poetry

curl -sSL https://install.python-poetry.org | python3 -

Install dependencies

poetry install

Make sure you are using the right python version

poetry env use python3.11

Install Docker

Follow the installation guide to install docker on ubunutu

Post docker installation

Follow the instruction for docker's post linux instalation

Start geth

docker run --rm -ti --name geth -p 8545:8545 ethereum/client-go:v1.10.26 \
  --miner.gaslimit 12000000 \
  --http --http.api personal,eth,net,web3,debug \
  --http.vhosts '*,localhost,host.docker.internal' --http.addr "0.0.0.0" \
  --ignore-legacy-receipts --allow-insecure-unlock --rpc.allow-unprotected-txs \
  --dev \
  --verbosity 4 \
  --nodiscover --maxpeers 0 --mine --miner.threads 1 \
  --networkid 1337

Deploy the EntryPoint and fund the signer (in another terminal)

geth --exec 'loadScript("scripts/deploy.js")' attach http://0.0.0.0:8545

Set env values

source scripts/init-params 

Run the bundler

poetry run python3 -m voltaire_bundler --entrypoint $ENTRYPOINT --bundler_secret $BUNDLER_SECRET --chain_id 1337 --verbose

Test the bundler by cloning eth-infinitism/bundler-spec-tests

Follow the instruction in eth-infinitism/bundler-spec-tests to install dependencies and run the test

Contributions

Thank you for considering contributing to open-source code! We welcome contributions and are grateful for even the smallest of fixes.

We will be publishing guidelines on how to contribute as we move forward with Voltaire's development.

If you want to contribute today or follow along with the contributor discussion, you can use our main discord to chat with us about the development of Voltaire.

Status

The project is not ready for production use. We hope to have a full implentation sometimes in April/May 2023, followed by optimizations. In the meantime, we're working on making sure this repo is well-documented, abstracted and tested.

License

LGPL

Acknowledgments

None of this would have been possible without the following teams and organizations below:

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

voltaire_bundler-0.1.0a22.tar.gz (36.9 kB view details)

Uploaded Source

Built Distribution

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

voltaire_bundler-0.1.0a22-py3-none-any.whl (46.0 kB view details)

Uploaded Python 3

File details

Details for the file voltaire_bundler-0.1.0a22.tar.gz.

File metadata

  • Download URL: voltaire_bundler-0.1.0a22.tar.gz
  • Upload date:
  • Size: 36.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.6 Linux/6.2.0-26-generic

File hashes

Hashes for voltaire_bundler-0.1.0a22.tar.gz
Algorithm Hash digest
SHA256 cd2310f62cb7afd8adfc54963e8f73062e6c913cf9ef7468db32ebc596f88fa5
MD5 3ae45a9744406edad4cc67e1caa64eb3
BLAKE2b-256 8b49e31ca4386b29ca59f09e87ab7310d400dafdafdcb387a5b982ce788976fa

See more details on using hashes here.

File details

Details for the file voltaire_bundler-0.1.0a22-py3-none-any.whl.

File metadata

  • Download URL: voltaire_bundler-0.1.0a22-py3-none-any.whl
  • Upload date:
  • Size: 46.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.5.1 CPython/3.10.6 Linux/6.2.0-26-generic

File hashes

Hashes for voltaire_bundler-0.1.0a22-py3-none-any.whl
Algorithm Hash digest
SHA256 1add966337f38557e3c4b1149af0427a60227bfc76944bfd1ec2aabc18e4aad5
MD5 aa5a369b3aedc2a6c2cd613be9e1554d
BLAKE2b-256 61181aad64dd145822517b292477971c30288a42a67542517ab551a6e91c15a6

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