Running a Builder

Information about running a builder for the Espresso Network

Overview

Participants creating blocks for the Espresso Network must run a builder, a piece of software which tracks the state of HotShot consensus so that it is able to and propose blocks at the correct time. The builder functions to create a block filled with transactions, drawing from transactions accessible in Espresso's public mempool as well as its own private mempool.

Espresso provides a simple builder implementation, which participants can run out-of-the-box or build their own software on top of. This document describes how to run the basic builder software.

For comprehensive guidance on the design of an Espresso builder, it is recommended to refer to the hotshot-builder-core repository. Furthermore, to gain insight into the process of enabling builder services for a sequencer, pertinent information can be found at espresso-sequencer-builder. For access to the most recent builder Docker images, please visit here.

Usage

# Clone the espresso-sequencer repository
git clone https://github.com/EspressoSystems/espresso-sequencer

# Build the executable in release mode
cargo build --release

# Run a builder natively
target/release/permissionless-builder [options]

# To understand more about the available builder options
target/release/permissionless-builder -h

# Run a node with the builder docker image
docker run -it \
  [-e ENV=VALUE...] \
  ghcr.io/espressosystems/espresso-sequencer/builder:main

For a quick start, we recommend referring to the espresso-sequencer docker-compose file, and looking particularly at permissionless-builder.

Parameters & options

Hardware requirements

Hardware requirements are subject to change as new features are added, but for now we recommend the following:

  • Memory: 4-8 GB

  • CPU: 2-4 Cores

Last updated