Skip to content

Detailed guide to contribute to the ceremony which is conducted for our Groth16 zk-SNARK circuits, which are integral to EthStorage’s proof-of-storage algorithm.

Notifications You must be signed in to change notification settings

0xmoei/ethstorage-trusted-setup-ceremony

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 

Repository files navigation

Ethstorage V1 Trusted Setup Ceremony

Detailed guide to contribute to the ceremony which is conducted for our Groth16 zk-SNARK circuits, which are integral to EthStorage’s proof-of-storage algorithm.

image

EthStorage is a Layer 2 that lets you store data on-chain and use it for games, socials, AI. It makes sure no one can fake data or pretend to store stuff they don’t. This ceremony’s all about making sure EthStorage stays secure and decentralized.

Ceremony’s from August 13 to 22, 2025.


Requirements

Operating System

You need one of these to join the ceremony:

GitHub Account

Your GitHub account must meet the following criteria:

  • At least a month old.
  • At least one public repository.
  • At least following 5 GitHub accounts and have at least 1 follower.
  • Must allow the ceremony tools to read and write GitHub Gists on your account.

Internet Connection

You need a stable internet connection on your local system or a VPS to stay in the ceremony queue for hours, waiting for your turn.


Install Dependecies

  1. Packages:
sudo apt-get update && sudo apt-get upgrade -y

sudo apt install curl screen iptables build-essential git wget lz4 jq make gcc nano automake autoconf tmux htop nvme-cli libgbm1 pkg-config libssl-dev libleveldb-dev tar clang bsdmainutils ncdu unzip libleveldb-dev ca-certificates  -y
  1. Install NVM
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source .bashrc
  1. Install Node.js 18
nvm install 18 
nvm use 18
source ~/.bashrc

Install Ceremony

Step 1. Create a directory in your home folder to run the ceremony from:

mkdir ~/trusted-setup-tmp && cd ~/trusted-setup-tmp

Step 2: Install CLI:

npm install -g @p0tion/phase2cli

Step 3: Authenticate with GitHub:

To contribute to the ceremony, you’ll need a legit GitHub account as explained here

Run this command in your terminal:

phase2cli auth
  • This will prompt you to open a browser and visit https://github.com/login/device
  • Copy the provided auth code in terminal and paste in the auth page . Click "Authorize ethstorage" to continue.

Contribute Ceremony

Open a screen

Open a screen so the ceremony keeps going in the background—might take hours before it’s your turn.

  • Screen is useful for VPS, not WSL. If you close the terminal in WSL, your screen session is killed
screen -S ceremony

Contribute to the ceremony

phase2cli contribute -c ethstorage-v1-trusted-setup-ceremony
  • You can either hit enter for randomly, or pick manually and type any letter or number yourself.
image

Screen commands

  • Minimize screen: Ctrl+A+D
  • Return to screen: screen -r ceremony
  • Kill ceremony when inside screen: Ctrl+C
  • Kill screen when inside screen: Ctrl+D
  • Kill screen when outside screen: screen -XS ceremony quit
  • screens list: screen -ls

Notes:

  • Contributing may take some time, depending on the current queue of contributors.
  • If your connection is interrupted or an error occurs, simply re-run the same command — it will pick up from where it left off.

After completing your contribution, you will be invited to share a message on X or your preferred social platform! 🎉


Cleanup & Logout

After completing your contribution to the ceremony, it’s recommended to clean up your local files and revoke GitHub authorization for security:

phase2cli clean
phase2cli logout

Delete the ceremony folder too if you don’t need it:

rm -rf ~/trusted-setup-tmp

FAQs

Q: I received the message “Your contribution took longer than the estimated time and you were removed as the current contributor.” What should I do? image

A: If your connection is slow, some contribution steps may take longer than expected, which can lead to a timeout, often during file download and upload. When this happens, you are automatically removed as the current contributor. You will need to wait for the predefined timeout period to expire before you can rejoin and continue your contribution. Once the timeout has passed, you may restart from the same circuit. To avoid repeated timeouts, we recommend switching to a machine with a faster and more stable internet connection before attempting to try again.

Here are some timeout examples:

image image

Q: I received the message “The waiting time (timeout) to retry the contribution has not yet expired.” What should I do?

image

A: After a timeout occurs—usually due to a slow or unstable connection, or disk availability issues—you must wait for the predefined timeout period to expire before you can retry your contribution. Attempting to rejoin before this period ends will result in this message. Please wait until the timeout has fully passed, then try again. To improve your chances of a successful contribution, we recommend switching to a machine with a faster and more stable internet connection and ensuring there is sufficient free disk space for the process to complete successfully.

About

Detailed guide to contribute to the ceremony which is conducted for our Groth16 zk-SNARK circuits, which are integral to EthStorage’s proof-of-storage algorithm.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published