Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pimlicolabs/alto
A performant, reliable, and type-safe ERC-4337 Bundler written in Typescript
https://github.com/pimlicolabs/alto
erc4337 ethereum
Last synced: about 2 hours ago
JSON representation
A performant, reliable, and type-safe ERC-4337 Bundler written in Typescript
- Host: GitHub
- URL: https://github.com/pimlicolabs/alto
- Owner: pimlicolabs
- License: gpl-3.0
- Created: 2023-04-10T06:39:05.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-01-03T20:25:01.000Z (8 days ago)
- Last Synced: 2025-01-04T17:05:32.780Z (7 days ago)
- Topics: erc4337, ethereum
- Language: TypeScript
- Homepage: https://docs.pimlico.io/reference/bundler
- Size: 4.6 MB
- Stars: 159
- Watchers: 6
- Forks: 46
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-account-abstraction - Alto - Typescript Implementation
README
# ⛰️ Alto ⛰️
![Node Version](https://img.shields.io/badge/node-20.x-green)
Alto is a Typescript implementation of the [ERC-4337 bundler specification](https://eips.ethereum.org/EIPS/eip-4337) developed by [Pimlico](https://pimlico.io), focused on transaction inclusion reliability.
## Getting started
For a full explanation of Alto, please visit our [docs page](https://docs.pimlico.io/infra/bundler)
#### Run an instance of Alto with the following commands:
```bash
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:
```bash
./alto help
```A helper script for running Alto locally with an Anvil node can be found at [scripts/run-local-instance.sh](scripts/README.md).
A comprehensive guide for self-hosting Alto can be found [here](https://docs.pimlico.io/infra/bundler/self-host).
#### Run the test suite with the following commands:
```bash
pnpm build
pnpm test # note: foundry must be installed on the machine for this to work
```## Prerequisites
- :gear: [NodeJS](https://nodejs.org/) (LTS)
- :toolbox: [Pnpm](https://pnpm.io/)## How to test bundler specs
- Run Geth node or any other node that support debug_traceCall
- Clone [bundler-spec-tests](https://github.com/eth-infinitism/bundler-spec-tests) repo.
- build & run bundler with `--environment development --bundleMode manual --safeMode true`## License
Distributed under the GPL-3.0 License. See [LICENSE](./LICENSE) for more information.
## Contact
Feel free to ask any questions in our [Telegram group](https://t.me/pimlicoHQ)
## Acknowledgements
- [Eth-Infinitism bundler](https://github.com/eth-infinitism/bundler)
- [Lodestar](https://github.com/ChainSafe/lodestar)