EIP-4337 python Bundler
Project description
Voltaire
Modular and lighting-fast Python Bundler for Ethereum EIP-4337 Account Abstraction
Using an instance
For a quick bundler instance, use one of our public hosted endpoints for your developement.
Deployment
Deploy Voltaire using the latest docker image
docker run --net=host --rm -ti ghcr.io/candidelabs/voltaire/voltaire-bundler:latest --bundler_secret $BUNDLER_SECRET --rpc_url $RPC_URL --rpc_port $PORT --ethereum_node_url $ETHEREUM_NODE_URL --chain_id $CHAIN_ID --verbose --unsafe --disable_p2p
Development
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
P2P rust section development
Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Install build dependencies
sudo apt install musl-tools
rustup target add x86_64-unknown-linux-musl
Build the rust section using poetry script
poetry run build_p2p
Contributions
Thank you for considering contributing to open-source code! We welcome contributions and are grateful for even the smallest of fixes.
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.
License
LGPL
Acknowledgments
None of this would have been possible without the following teams and organizations below:
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.0a24.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 059988f5f194b736a25f1edd92a6581907e94a3966c1e233ae207d4a95cde6d1 |
|
MD5 | 2ced3e9c8a53ad0897f7561ffb7ed70b |
|
BLAKE2b-256 | f03dc5cf6f347dfa82ef4779ba35f1a22715b54532fa580453ce24a3bafb0ffc |
Hashes for voltaire_bundler-0.1.0a24-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 45ecc0717cdb2d0a0ce108bd790a9699f5086769ab33f61f498298e6b7e739b7 |
|
MD5 | c4f86c19007fc726c7a5a683fa29f8e4 |
|
BLAKE2b-256 | a62ca21b4bcbe5317d582ab52c8c8d85b962236d1bef175cc07c9fd35a03e354 |