Espresso

Decaf Testnet

Espresso is a high-performance base layer for rollups, making L2 transactions safe, fast, and seamless for users. Espresso is trusted by leading teams including O๏ฌ€chain Labs (Arbitrum), Polygon, ApeChain, Cartesi, RARI Chain, Celo.

L2s and rollups that use Espresso as a decentralized base layer benefit from industry-leading speed in finalizing transactions. The confirmations that Espresso provides underpin cross-chain applications that can tap into liquidity and users of all connected Espresso-chains. Resources

Hardware requirements

CPU

4 cores

RAM

16 GB

Storage

1 TGB NVME

Network

25 MBit/s

OS

Linux (Ubuntu 22.04 x64)

Installation ๐Ÿ’พ

Update repositories

apt update && apt upgrade -y

Install dependencies

sudo apt install -y curl jq ca-certificates gnupg lsb-release openssl

Install Docker

Create folders

Create .env for your node identity + public IP

Create docker-compose.yml (Sepolia EL+CL + Espresso Decaf)

start

Become Validator

You may need approval / tokens from Espresso

Decaf docs note node operation is limited to a select group and provide a form to request tokens.

Register your validator on Sepolia (staking-cli)

Decaf registration uses staking-cli register-validator and requires:

  • your validator Ethereum address (the address you register)

  • a commission value (decimal between 0 and 1)

  • Sepolia RPC URL (your own is http://127.0.0.1:18545)

Decaf contract addresses from docs (set these exactly as environment variables when using staking-cli):

Example:

If you got --commission ... empty: it usually means your shell variable was empty (e.g. --commission $COMMISSION but COMMISSION wasnโ€™t set). Use a literal number like 0.05.

Delegation (required to actually participate)

Decaf uses a dynamic active set (top 100 by delegation) and you need ESP tokens delegated to your validator to be active.

Example:

Validator address clarification: itโ€™s the address you used in register-validator (and that will receive commission/rewards), not โ€œwhatever address has Sepolia ETHโ€. Sepolia ETH is just gas to send the registration/delegation transactions.

Cheat sheet (status, logs, quick health checks)

Logs (use your container names)

Follow live:

Sepolia EL sync (geth)

Sepolia CL health (lighthouse HTTP API)

Espresso metrics (best single check)

Interpretation (rule of thumb):

  • consensus_libp2p_is_ready 1

  • consensus_libp2p_num_connected_peers > 0 (ideally dozens)

  • consensus_current_view keeps increasing

  • consensus_last_decided_view stays close to current_view

Restart only Espresso (safe)

Last updated