Skip to content

A performant, reliable, and type-safe ERC-4337 Bundler written in Typescript

License

Notifications You must be signed in to change notification settings

pimlicolabs/alto

Repository files navigation

⛰️ Alto ⛰️

Node Version

Alto is a Typescript implementation of the ERC-4337 bundler specification developed by Pimlico, focused on transaction inclusion reliability.

Getting started

For a full explanation of Alto, please visit our docs page

Run an instance of Alto with the following commands:

pnpm install
pnpm build
./alto --entrypoints "0x5ff1...2789,0x0000...a032" --executor-private-keys "..." --utility-private-key "..." --min-balance "0" --rpc-url "http://localhost:8545" --network-name "local"

To find a list of all options, run:

./alto help

A helper script for running Alto locally with an Anvil node can be found at scripts/run-local-instance.sh.

A comprehensive guide for self-hosting Alto can be found here.

Run the test suite with the following commands:

pnpm build
pnpm test # note: foundry must be installed on the machine for this to work

Prerequisites

How to test bundler specs

  • Run Geth node or any other node that support debug_traceCall
  • Clone bundler-spec-tests repo.
  • build & run bundler with --environment development --bundleMode manual --safeMode true

License

Distributed under the GPL-3.0 License. See LICENSE for more information.

Contact

Feel free to ask any questions in our Telegram group

Acknowledgements