How to Become a Witness

Here you will find a simple guide to becoming a witness with Array.io. You can do it in a few easy steps, divided between three usual stages: installing the necessary libraries and software, creating a wallet with your account and creating a witness. As you can see, this is not going to take you long. Enjoy the build!

Install array-io node software

GitHub

If you’re using MacOS, run the following command to ensure that you have everything a Linux user has.

$ cmake -DLINUX_SIGACTION_SIGSEGV=DISABLE .. 

You should be able to spawn four threads. Alternatively, if you process with eight cores, you can make eight threads. Choose it according to your core/CPU environment, so that it works efficiently.

$ make -j4 

Connect to ‘newton.array.io’ and create a wallet with a chain ID. After the build you will get access the ‘programs’ directory which contains CliWallet and WitnessNode.

CliWallet is a client that connects you to the wallet. WitnessNode is your own personal node.

$ ./programs/cli_wallet/cli_wallet -s ws://newton.array.io:8090 --chain-id b6b83a593686087531ce581540564d20b2f75ff9879e9dd2eccfa9a79744b949 

You’re almost there! Create a password for your brand-new wallet and unlock it. You will know that you’ve done this when the line says ‘unlocked’ instead of ‘locked’.

Console Output Example

locked >>> set_password secret-password-here locked >>> unlock secret-password-here unlocked >>>

Congrats! You have unlocked your wallet.

Now you can send us your account name and your public key, so that we could register your account.

To complete the registration of your account, you need to have some money in it.

We grant you 10000 RAY to get you started

Send us the following request:

GitHub

I want to become a witness

Write Preview

Hello! I want to connect "Newton" Test-net. My public key is: BTS5T5D5p3Cddo97tTA1d1iSKxHEMazthLtyUpiLpXu8rLYVyHxrH

Generate a key pair

>> suggest_brain_key

You will get an output of this kind:

{
  "brain_priv_key": "VOLET BUZZING BLASTID QUOITS RALPH WHIBA VAGUITY SONLIKE OUTGROW MISBORN CLOTBUR FRIZZER TONG DAND CARTER VERVAIN",
  "wif_priv_key": "5KaGG9t31Ajmgkm1Y8ymHDGL4czn2Su2jbjKHoYy2fYkNSPjCM7",
  "pub_key": "RAY5T5D5p3Cddo97tTA1d1iSKxHEMazthLtyUpiLpXu8rLYVyHxrH"
}

Memorize the private key! It will be linked to the account that we create for you.

Note: The hash from the brain key gives you a private key. The hash of that hash produces a public key. If you lose a public key, you can get it from your private key. If you lose a private one, it can be accessed through the brain key.

Now you need to import your private key:

>> import_key my-very-new-account <your private here>

To check the balance in all your accounts, you can do the following:

unlocked >>> list_account_balances my-very-new-account, 1

You’ve nailed it! With a functioning account, it is easy to become a witness. Here is how you can do that:

unlocked >>> create_witness my-very-new-account "https://flacon.array.io" true

To get private keys for your witness, you should do

>> dump_private_keys

To see the history of all the actions, simply type:

unlocked >>> get_account_history flacon, 10

You can vote for your witness:

unlocked >>> vote_for_witness my-very-new-account true 

To complete the process, you need to type in the following line. It is supposed to present all the information on your account that you have in the witness node.

$ LC_ALL=C ./witness_node --data-dir=./newton --genesis-json=newton/main_genesis.json --rpc-endpoint=127.0.0.1:8090 --api-access=newton/api-access.json --witness-id '"1.5.22"' --private-key '["RAY5xMr8JuFtDHCZ7wjKGUYksdsXREfcpxxcojjT371Qeo1F3MARL","5KbUiwxz2uh4tmcfaUKo1SVPrxg9MkxYJnqP2sYjchdTdSozZ6R"]'