Betsy
An all-in-one CLI tool to manage ERC 4337 infrastructure for local development and testing.
✨ Features include:
- Ephemeral In-Memory Ethereum Execution Client(Geth)
- Starts a fresh instance with each run, ensuring a clean slate every time.
- Destroyed after each Betsy run.
- Pre-funded accounts
- Default accounts with pre-funded balances.
- Includes private keys for easy access.
- Pre-deployed contract
- Type-safe Go binding for Account Abstraction contracts:
- ERC 4337 Bundler clients
- Includes integration with:
- Realtime ERC 4337 userOp Mempool Explorer UI
- Visualize the userOp mempool in real-time, offering an insightful view into current operations.
🚧 Coming soon:
- Supported ERC 4337 bundlers**
- Ethereum execution client forks for EVM mainnet and testnet. Run a fork of the Ethereum mainnet or testnet to test your AA smart contracts in a real-world environment.
- Manage Entrypoint deposits, withdrawals, and stakes on local Entrypoint contract.
- Realtime ERC 4337 Bundler bundle explorer UI. Visualize the bundler bundle production in real time.
Installation
For more information on installing Betsy, see the Installation guide.
Development
Information on how to set a development environment for Betsy.
Branches
The main
branch acts as the development branch and is the repository's default branch. The main branch build will be marked as unstable
in the version.
- Betsy's latest
stable
version can be found on branch release/x.y.z
.
Running the CLI
Run the following command to start the CLI:
make run-cli
Running tests
To run the tests, execute the following command:
make test
Or to run the tests with coverage:
make test-coverage
Contributing
If you would like to contribute, please follow these guidelines here.
License
Licensed under the MIT.