Transeptor - Typescript implementation of ERC-4337 bundler client
2.6K
Built by Transeptor Labs, Transeptor is an open-source, high-performance, modular ERC-4337 bundler designed to make smart accounts scalable and usable on Ethereum.
We welcome contributions to enhance our ERC-4337 Bundler. Please follow our contribution guidelines.
Transeptor is easy to set up with Docker and requires minimal configuration. For this guide, we will walk through running Transeptor with Geth and the ERC-7562 tracer in searcher mode on the Sepolia testnet.
Follow the steps below to get started with Transeptor:
A fully synced geth node must be running alongside the bundler with debug_traceCall enabled. Lets get stated by pulling the ERC-7562: Account Abstraction Validation Rules geth Docker image. The geth node comes equipped with a native tracer to allow the bundler to enforce off-chain transaction validation rules that prevent denial-of-service attacks.
docker run -d --name geth-native-tracer -p 8545:8545 accountabstraction/geth-with-erc7562-tracer \
--verbosity 1 \
--http.vhosts '*,localhost,host.docker.internal' \
--http \
--http.port 8545 \
--http.api eth,net,web3,debug \
--http.corsdomain '*' \
--http.addr "0.0.0.0" \
--networkid 1337 \
--dev \
--dev.period 0 \
--allow-insecure-unlock \
--rpc.allow-unprotected-txs \
--dev.gaslimit 20000000
docker pull transeptorlabs/bundler:latest
Transeptor requires a set of environment variables to run. Create a .env file and add the following variables:
# Required
TRANSEPTOR_ENTRYPOINT_ADDRESS=0x4337084d9e255ff0702461cf8895ce9e3b5ff108
TRANSEPTOR_BENEFICIARY=<address_to_receive_funds>
TRANSEPTOR_MNEMONIC=<your-mnemonic>
# Optional
TRANSEPTOR_WHITE_LIST=<address_to_allow_SEPARATED_BY_COMMA>
TRANSEPTOR_BLACK_LIST=<address_to_ban_SEPARATED_BY_COMMA>
With the Geth native tracer node running, you can now start Transeptor. You can pass the path to your .env file to the Docker container.
minBalance before starting Bundler.docker run -d --name transeptor -p 4337:4337 --env-file <path_to_your_.env> transeptorlabs/bundler:latest \
--httpApi web3,eth,debug \
--txMode searcher \
--port 4337 \
--minBalance 0.01 \
--network http://host.docker.internal:8545 \
--auto
Transeptor will start on http://localhost:4437/rpc. Run curl command to check if the Transeptor is running:
curl -X POST -H "Content-Type: application/json" --data '{"jsonrpc":"2.0","method":"web3_clientVersion","params":[],"id":67}' http://localhost:4337/rpc
{"jsonrpc":"2.0","id":67,"result":"transeptor/0.15.0-alpha.0"}
You are now ready to start bundling userOp on the Sepolia testnet with Transeptor.
Have questions or need help? Here are a few ways to get in touch:
Have questions or need help? Here are a few ways to get in touch:
Content type
Image
Digest
sha256:69b757bee…
Size
71.6 MB
Last updated
about 1 year ago
docker pull transeptorlabs/bundler