Nyzo techSetup instructionsVerifier


The following instructions are for an Ubuntu Linux system, but the verifier will also run on Windows, Mac OS, and other Linux distributions.

Begin the installation by updating apt.

sudo apt update

Next, install haveged. This is a program that provides entropy for cryptographically secure random-number generators. The Verifier class loads its private seed in a static block, and lack of sufficient entropy on a system can cause the application to block indefinitely when trying to generate a new private seed for the verifier. The key is used to sign both messages and blocks produced by the verifier.

sudo apt install haveged -y

Install the Java development kit (JDK). JDK 8 is preferred for Nyzo.

sudo apt install openjdk-8-jdk -y

Install supervisor. This is used to manage the verifier as a background process.

sudo apt install supervisor -y

Clone the Nyzo verifier repository.

git clone https://github.com/n-y-z-o/nyzoVerifier.git

Change to the new nyzoVerifier directory and build the code.

cd nyzoVerifier && ./gradlew build

Make the Nyzo data root directory.

sudo mkdir -p /var/lib/nyzo/production

Copy the trusted entry points file to the data root directory.

sudo cp trusted_entry_points /var/lib/nyzo/production

Create the supervisor configuration file. The first command makes the script executable. The second command runs the script to generate the file. The third command copies the file to the supervisor configuration directory.

chmod +x nyzoVerifier.sh && ./nyzoVerifier.sh && sudo cp nyzoVerifier.conf /etc/supervisor/conf.d/

If you want to give your verifier a nickname, run the following command. Replace VERIFIER_NICKNAME (but leave the quotes) with the name you choose for your verifier:

sudo bash -c 'echo "VERIFIER_NICKNAME" > /var/lib/nyzo/production/nickname'

This next step is not necessary for a new verifier. Only do it if you have a seed from an old verifier that you want to reuse. If you skip this step, a seed will be generated for you using a cryptographically secure random-number generator the first time the verifier starts. The system is not designed for multiple verifiers to run with the same private key. If you do run multiple verifiers with the same private key, they will only be able to hold one space in the cycle, and your total earnings will be no more than if you were running only one verifier. If you were running a verifier previously and want to reuse the private key from it, run the following command. Replace PRIVATE_KEY (but leave the quotes) with your old key value (a 64-character hexadecimal string, with or without dashes):

sudo bash -c 'echo "PRIVATE_KEY" > /var/lib/nyzo/production/verifier_private_seed'

To start the Nyzo verifier, reload supervisor.

sudo supervisorctl reload

You may now see the private key that was generated for your verifier. You need to use this to access the tokens you will earn on your verifier. Keep a copy of this somewhere safe, and do not share it with anyone. To see the key, run:

more /var/lib/nyzo/production/verifier_private_seed