Sign inSign up

transeptorlabs/bundler

By transeptorlabs

•Updated about 1 year ago

Transeptor - Typescript implementation of ERC-4337 bundler client

Image
0

2.6K

transeptorlabs/bundler repository overview

⁠

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.

⁠Contribute

We welcome contributions to enhance our ERC-4337 Bundler. Please follow our contribution guidelines⁠.

⁠Quick Start

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:

⁠Start up geth with ERC-7562 tracer

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
⁠Pull Transeptor Docker image
docker pull transeptorlabs/bundler:latest
⁠Set environment variables

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>
⁠Start Transeptor

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.

  • Ensure the signer account is funded with ETH with the desired 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.

⁠Contact us

Have questions or need help? Here are a few ways to get in touch:

  1. Open an issue of Transeptor Github⁠
  2. Send us a message on Telegram⁠

⁠Contact us

Have questions or need help? Here are a few ways to get in touch:

  1. Open an issue of Transeptor Github⁠
  2. Send us a message on Telegram⁠

Tag summary

Content type

Image

Digest

sha256:69b757bee…

Size

71.6 MB

Last updated

about 1 year ago

docker pull transeptorlabs/bundler