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.
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:
- EIP-4337: Account Abstraction via Entry Point Contract specification
- eth-infinitism/bundler
- Voltaire is funded exclusively by The Ethereum Foundation
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
Built Distribution
Hashes for voltaire_bundler-0.1.0a22.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | cd2310f62cb7afd8adfc54963e8f73062e6c913cf9ef7468db32ebc596f88fa5 |
|
MD5 | 3ae45a9744406edad4cc67e1caa64eb3 |
|
BLAKE2b-256 | 8b49e31ca4386b29ca59f09e87ab7310d400dafdafdcb387a5b982ce788976fa |
Hashes for voltaire_bundler-0.1.0a22-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1add966337f38557e3c4b1149af0427a60227bfc76944bfd1ec2aabc18e4aad5 |
|
MD5 | aa5a369b3aedc2a6c2cd613be9e1554d |
|
BLAKE2b-256 | 61181aad64dd145822517b292477971c30288a42a67542517ab551a6e91c15a6 |