Baking with DAL

Introduction

The Tezos Data Availability Layer (DAL) enhances network scalability by efficiently handling large volumes of data off-chain, providing essential support for rollups and other layer-2 solutions. This guide explains how to set up DAL locally alongside your TezBake baker.

For more details on DAL, see Tezos DAL Overview.

Note: This feature is experimental and not extensively tested yet. Remote/distributed setups will be available before the Rio activation.


If You Previously Installed DAL Manually

If you previously set up DAL manually using the older method, first remove it by running:

sudo systemctl stop octez-dal-node
export DAL_USER="$(grep -i '^User=' /etc/systemd/system/octez-dal-node.service | cut -d= -f2)"
sudo rm -r "/home/$DAL_USER/.zcash-params"
sudo rm -r "/home/$DAL_USER/.tezos-dal-node"
sudo rm /usr/sbin/octez-dal-node
sudo rm /etc/systemd/system/octez-dal-node.service
sudo systemctl daemon-reload

Additionally, remove any DAL configurations manually added to your app.json, particularly the BAKER_STARTUP_ARGS referencing DAL.


New TezBake Setup with DAL

Follow these steps if you’re setting up a new TezBake baker with DAL:

  1. Install latest TezBake prerelease:
wget -q https://github.com/tez-capital/tezbake/raw/main/install.sh -O /tmp/install.sh && sudo sh /tmp/install.sh --prerelease
  1. Run setup with DAL integration:
tezbake setup --with-dal
  1. Proceed with your usual setup steps (ledger integration, baker registration, etc.).

  2. Continue to the After Setup section.


Existing TezBake Setup

If you already have TezBake running without DAL or if you’ve previously added DAL manually, follow these steps:

  1. Ensure no manual DAL references exist in your app.json (remove if present):
  • Specifically, remove any BAKER_STARTUP_ARGS referencing DAL.
  1. Install latest TezBake prerelease:
wget -q https://github.com/tez-capital/tezbake/raw/main/install.sh -O /tmp/install.sh && sudo sh /tmp/install.sh --prerelease
  1. Upgrade TezBake components:
tezbake upgrade

Important (rare case): If your node runs on a non-default RPC address, ensure your RPC_ADDR includes the full address (e.g., http://).

  1. Install DAL:
tezbake setup --dal
  1. Continue to After Setup.

After Setup

  1. Inject attester profiles:

This step does not require interaction with your Ledger:

tezbake update-dal-profiles --auto

If the above command fails, specify your baker key (not consensus key):

tezbake update-dal-profiles <your-baker-key>
  1. Restart TezBake to apply changes:
tezbake stop && tezbake start

Quick Troubleshooting

If you encounter issues or require immediate help, execute these commands to revert changes and reinstall:

tezbake remove --dal
tezbake setup --node  # choose 'yes' to merge config when prompted
tezbake stop && tezbake start

Verify DAL Operation

Ensure your DAL process is correctly running by checking logs:

tezbake node log dal -f

Your logs should indicate the DAL is receiving block levels. Also, verify the TezBake baker logs are error-free regarding DAL integration:

tezbake node log baker -f

For additional DAL checks, refer to the Nomadic Labs DAL Tutorial.


Any further questions or support requests? Contact the Tez Capital team on Discord or Telegram.