Purpose: Generate secure zk-SNARK parameters for EthStorage’s circuits, ensuring transparency, decentralization, and long-term security for the entire community.

- OS: Linux, macOS, or Windows with WSL2.
- GitHub:
- Account ≥ 1 month old
- ≥ 1 public repo
- Follows ≥ 5 accounts & has ≥ 1 follower
- Allows GitHub Gist read/write access
- Internet: Stable connection with good upload speed.
- Dependencies: Node.js ≥ 18, npm ≥ 9.2.0 (install via NVM recommended).
- Strengthen Security ; Prevent manipulation of zk-SNARK parameters.
- Ensure Decentralization ; Multiple participants reduce trust in any single party.
- Guarantee Transparency ; Fully auditable, open-source process.
- Join during the event window (Aug 13–22, 2025) and run the provided ceremony CLI tools to generate your randomness.
- Submit your contribution to strengthen the setup.
- Verify your participation and share proof to inspire others.
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential \
curl \
wget \
git \
unzip \
pkg-config \
software-properties-common
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
nvm install 18
nvm use 18
nvm alias default 18
source ~/.bashrc

mkdir ceremony && cd ceremony
npm install -g @p0tion/phase2cli

Running this line of code will show you alink to click that will direct you to Github - http://github.com/login/device
phase2cli auth

- Authenticate Github and copy the code from terminal
- Paste code on Github page
- Check back terminal to confirm you're IN.

screen -S ceremony
phase2cli contribute
- Use the arrow key, select the second option (EthStorage V1 Trusted Setup Ceremony)
- Select ENTER and continue
- Select ENTER again to use the Random selection.

- Minimize / Detach session:
Ctrl + A + D
- Reattach session:
screen -r ceremony
- List sessions:
screen -ls
- Close session from outside:
screen -XS ceremony quit