This documentation explains the procedure for generating the initial keys (a.k.a. the generate
binary), which is necessary to participate in Phase 2 of the ZKP Ceremony.
Read this blog post first to understand the complete procedure.
If you have participated in Phase 1 of the ZKP Ceremony, ensure the security and integrity of the process by destroying any keys and files generated during that phase. This includes securely deleting any data related to your Phase 1 contribution.
Expectation from Contributors
-
Availability on Discord: We also count on you being reachable via Discord since as soon as the round contributors are assigned to start, they must begin contributing promptly.
-
System Availability: Turn off the sleep setting on your machine and ensure it is connected to a power outlet. Contributors must be willing to keep their computers operational for multiple hours or even a few days, depending on the progress of the ceremony.
-
Technical Requirements: Ensure that you meet the following technical requirements:
- Familiarity with running any Command Line Interface.
- Operating systems: Linux, macOS, Windows.
For assistance with the Command Line Interface, including guidance for users on VPS (Virtual Private Servers), you may find the following guides helpful:
Phase 2: Key Generation
In this second phase, contributors go through a two-step process to generate and secure their keys, like in Phase 1. Here is how you can generate your keys:
Step 1: Generate Your Keys
-
Get the Generate Binary:
-
Option 1: Compile from Source (advanced users)
- Install Rust 1.77.2 using
rustup install 1.77.2
. If you don’t have rustup installed, follow the instructions at rustup.rs. git clone https://github.com/nimiq/snark-setup-operator.git
cd snark-setup-operator
-
cargo build --release --bin generate
to compile thegenerate
binary for release. -
./target/release/generate
to execute the builtgenerate
binary.
- Install Rust 1.77.2 using
- Option 2: Use Precompiled Binary (regular users)
-
Option 1: Compile from Source (advanced users)
-
Run it in a Command Line:
- When asked to “Enter some entropy for your Nimiq seed:” input any characters you like on your keyboard.
- Create a passphrase (leave it empty to autogenerate a secure one). Remember to save your passphrase - you will need it later.
-
Keep the
nimiq.keys
file, ideally stored on a USB pen drive, where it’s easy to destroy later. - Send only the public key from the output to this form. Please note that we prioritize users who have joined our Discord and submitted their respective usernames and public keys. This helps us simplify communication and coordination throughout the ceremony.
Thank you for your initial participation! Nimiq Coordinators will notify contributors to proceed with the second part of Phase 2.