Random Number Generator (RNG)
Other Documentation
Creating a witness account
For given network, say MAINNET or TESTNET we need to first create a user account using a faucet.
Faucet ?!
In the blockchain world, account creation services are nicknamed as faucets. They create unique Network Address Identifiers.
To create a Peerplays MAINNET account, the easiest way is to use the GUI wallet available to download from Github.
Creating user in Peerplays GUI wallet is self explanatory.

2. Upgrading the Peerplays account to a witness account

We can do this from the cli_wallet & this includes multiple steps.
  1. 1.
    Buy some PPY (or ask your friendly whale!) from an exchange
  2. 2.
    Upgrade your new account to a Life Time Member (LTM)
  3. 3.
    register and update the witness to the network
For the first step, we need to access the newly created Peerplays account from the cli_wallet. Instructions are given below:.

CLI Wallet Setup

In it's own terminal window, start the command-line wallet cli_wallet:
1
./programs/cli_wallet/cli_wallet
Copied!
To set your initial password to password use:
1
>>> set_password password
2
>>> unlock password
Copied!
Tip: A list of CLI wallet commands is available here: CLI Wallet commands

Get Owner and Active Keys

To generate your owner and active keys use the get_private_key_from_password command:
1
get_private_key_from_password your_witness_username active the_key_you_received_from_the_faucet
Copied!
This will return an array, with your active key, in the form ["PPYxxx", "xxxx"].

Import Keys into your CLI Wallet

To import your keys, generated in the previous step, into your CLI wallet do the following:
  1. 1.
    Use the second value in the array for the private key.
  2. 2.
    Make sure your username is in quotes.
  3. 3.
    Import the key using the following command
Note: Substitute your-witness-username with your own username.
1
import_key "your_witness_username" xxxx
Copied!

Upgrade Your Account to Lifetime Membership

1
upgrade_account your_witness_username true
Copied!

Create Yourself as a Witness

Make sure your URL is in quotes.
Note: Substitute "url" with your witness URL.
1
create_witness your_witness_username "url" true
Copied!
This will return your block_signing_key
Important: Be sure to take note of your block_signing_key
Run the following command using your block_signing_key from the previous step:
1
get_private_key block_signing_key
Copied!
Compare this result to the three pairs of keys generated when you run the following command:
1
dump_private_keys
Copied!
One of the pairs should match your block_signing_key , this is the one you'll use for future operations.

Get Your Witness ID

Note: Substitute username with you Witness username.
1
get_witness username
Copied!
Take note of the id for the next step.

Modify Your Witness Node Configuration

Next the Witness node configuration file, witness_node_data_dir/config.ini, needs to be modified to include your Witness ID (from the previous step), and your private key pair.
Note: Substitute "your_witness_id" with your Witness ID.
Don't forget to enclose in quotes!
Note: Substitute "block_signing_key" with your block signing.
Substitute "private_key_for_your_block_signing_key" with your private key.
Don't forget to enclose in quotes!
1
vim witness_node_data_dir/config.ini
2
3
witness-id = "your_witness_id"
4
private-key = ["block_signing_key","private_key_for_your_block_signing_key"]
Copied!

Start Your Witness Node

1
./programs/witness_node/witness_node
Copied!
If your Witness node fails to start, try again with these flags:
Important: Not for permanent use.
1
./programs/witness_node/witness_node --resync --replay
Copied!

Vote For Yourself

All Witnesses have to be voted in, so start by voting for yourself!
1
vote_for_witness your_witness_account your_witness_account true true
Copied!

Ask to be Voted In

The following document gives information on the Peerplays Witness voting process and advice on how to get voted in:
Once you've received enough votes to become an active Witness you'll start producing blocks at the next maintenance interval (once per hour). You can check your votes with:
1
get_witness your_witness_account
Copied!