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:
- EntryPoint release v7
- SimpleAccountFactory release v7
- Additional contract: GlobalCounter.
- 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**
- Transeptor
- Other bundlers (e.g. Aabundler, Okbund etc.)
- 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.
For more information on installing Betsy, see the Installation guide.
Information on how to set a development environment for Betsy.
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 branchrelease/x.y.z
.
Run the following command to start the CLI:
make run-cli
To run the tests, execute the following command:
make test
Or to run the tests with coverage:
make test-coverage
If you would like to contribute, please follow these guidelines here.
Licensed under the MIT.