Ghostnet Community DAC is alive!

By Gauthier Sebille

Marigold and TriliTech are pleased to announce the successful deployment of a fully working Data Availability Committees on the Ghostnet Tezos network.

To learn more about Data Availability Committees, Nomadic Labs published an excellent article explaining everything in detail.

:warning: Disclaimer

Please note that this Community DAC is run on best-effort. We do not provide a guarantee on uptime or data lifetime storage. Hence, it should be only used for testing purposes.

Moreover, DAC is an experimental executable available since Octez v18.0. Hence, feedback is welcome!

:warning: End of disclaimer

TL;DR: What is a DAC?

The introduction of the Nomadic-Labs article is the best one you can find; let’s reproduce it here:

A Data Availability Committee (DAC) is a solution for scaling the transaction throughput of Tezos Smart Rollups. In summary, a DAC enables storing transaction data for a smart rollup off-chain. Rollup nodes retrieve the transaction payloads from the DAC members and import them into their Smart Rollup virtual machines, instead of retrieving them directly from Tezos blocks, and thus circumvent the data limit imposed by Tezos block sizes.

Community DAC.

Eager to scale the transaction throughput of Tezos Smart Rollups, Marigold and Trili Tech have decided to run their shared DAC.

Here is the complete infrastructure deployed so far:

  • 1 Coordinator (managed by Marigold)
  • 3 Members (2 managed by Marigold and 1 by TriliTech)
  • 2 Observers (1 managed by Marigold and 1 by TriliTech)

Play with Community DAC.

In this quick tutorial, we are going to give you the commands to:

  • Push data to Community DAC
  • Retrieve certificate
  • Retrieve data

Send the payload.

The first step is, of course, to post your data on the Community DAC.

DAC has been included in the Tezos Shell CLI since v18.0, you can use the octez-dac-client binary to interact with it.

I want to post the string Marigold and Trili Tech run Community DAC! as an example.

  1. Get the hexadecimal representation (you can use whatever tool you want, there are many online), which is 4D617269676F6C6420616E64205472696C6920546563682072756E20436F6D6D756E6974792044414321

  2. Push the data

Using CLI.

$ octez-dac-client send payload to coordinator https://dac-ghost-coordinator.gcp.marigold.dev/ with content "4D617269676F6C6420616E64205472696C6920546563682072756E20436F6D6D756E6974792044414321"

Which must return the root_hash! of the stored data:

Payload stored under root hash: 00e841b90074cdd84154c0fc2e841a15a70a08c45840fc0ca8211

If you want to know more about Community DAC, please read our blogpost on Marigold website :point_right: Ghostnet Community DAC is alive!

2 Likes