Validator setup


#1

When I go to:

http://testnet.oracles.org:3000/

I see only (4) nodes besides the bootnode, are these validator nodes or generic nodes? Shouldn’t there be more? At least 12?

There is a note where existing nodes need to be redeployed is this the reason?

Is Oracles Test Net public or is is currently running privately in Azure cloud?

If public and if I have a local parity client how can I run a node with custom, config.toml , to connect with the test network.

Further if public, should be able to manage any accounts locally by running parity and using Mist as Wallet?

Please advise.

Regards,
John LeGassic


#2

I see only (4) nodes besides the boot node, are these validator nodes or generic nodes? Shouldn’t there be more? At least 12?

There are six mining nodes at the moment. Five for named validators and a boot node (me, I’m a notary and also a validator).

Other people disconnected after their trial Azure account expired. We are incentivizing nodes for the testnet now and I hope we will see more validators soon :slight_smile:

There is a note where existing nodes need to be redeployed is this the reason?

The regular software update, not even a soft fork. We will publish release notes in future for nodes update.

Is Oracles Test Net public or is currently running privately in the Azure cloud?

It’s open network, and anyone can participate. It’s not connected to exchanges, and thus, it can be considered as private.

If public and if I have a local parity client how can I run a node with custom, config.toml , to connect with the test network.

@phahulin will provide an instruction

Further if public, should be able to manage any accounts locally by running parity and using Mist as Wallet?

Right, we will try to include our network in Metamask and Myetherwallet


#3

Hi @jlegassic

for the simplest local setup you’d need:

  1. oracles spec.json:
    https://raw.githubusercontent.com/oraclesorg/oracles-scripts/alphadevtestnet/spec.json
  2. oracles node.toml:
    https://raw.githubusercontent.com/oraclesorg/test-templates/AlphaTestTestNet/TestTestNet/mining-node/node.toml
    append the following lines to it:
[misc]
logging="engine=trace,network=trace,discovery=trace"
log_file = "parity.log"
[account]
password = ["node.pwd"]
unlock = ["YOUR MINING KEY ADDRESS HERE 0x..."]
[mining]
force_sealing = true
engine_signer = "YOUR MINING KEY ADDRESS HERE 0x..."
reseal_on_txs = "none"

you can change it if you like, but keep chain under [parity] section, [network], [account], [mining] sections intact.
3. put your mining key password to node.pwd file
4. by default a folder named parity is used to keep all data files, copy your json mining keyfile to parity/keys/OraclesPoA/ subfolder

Now you can start parity node with parity --config node.toml

However, this is NOT a full installation:

  1. all your OETH will be stored at the mining key address, normally it would be transferred to payout key once a day
  2. your node won’t show up on the oracles dashboard http://testnet.oracles.org:3000

For these things to work, you’d need to install node.js, a separate script and one more service. Please let me know, if you’d want to do that, but it’ll be easier to use our azure templates :slight_smile:


#4

Would like to try local setup as historically resist using Microsoft products.

Already have nodejs installed:

/home$ nodejs --version
v6.11.2

So please advise and provide instructions for full local setup.

Regards,
John


#5

John, let the devs get one configuration solid and accessible - Azure deployment with Metamask and Parity.
The interesting part about this project is the collection of dApps and voting consensus, not the blockchain infrastructure.
They can work out the Mist, Myetherwallet, and Linux details next year.
Walter


#6

Sure but a few comments/thoughts.

My understanding is that a Validator is a custodian of a special node on the Oracles network, one that validates or commits new blocks ( set of transactions ) to the block chain. Extending the Notary model, a Validator is:

  1. A public servant
  2. Trusted individual with integrity
  3. Has responsibility to prevent fraud

Given the above, believe it is my responsibility, however inconvenient, to understand and evaluate both the blockchain infrastructure and the collection of dApps that comprise this public system. Only in this way, can I protect my personal and public integrity and entrust it to the network you are trying to build.


#7

@jlegassic

install a script to transfer the OETH to your payout key do the following:

  1. clone script repo
git clone -b alphadevtestnet --single-branch https://github.com/oraclesorg/oracles-scripts
  1. symlink or copy node.toml to script’s folder
ln -s ../node.toml oracles-scripts/node.toml
  1. install dependencies
cd oracles-scripts/scripts
npm install
  1. create crontab to call node transferRewardToPayoutKey.js daily

install a script to send your node’s statistics to the dashboard

  1. install process manager
sudo npm install pm2 -g
  1. clone service’s repo
git clone https://github.com/oraclesorg/eth-net-intelligence-api
  1. install dependencies
cd eth-net-intelligence-api
npm install
  1. create (in the same folder) file named app.json
[
    {
        "name"                 : "netstats_daemon",
        "script"               : "app.js",
        "log_date_format"      : "YYYY-MM-DD HH:mm:SS Z",
        "error_file"           : "ERR LOG FILE PATH",
        "out_file"             : "MAIN LOG FILE PATH",
        "merge_logs"           : false,
        "watch"                : false,
        "max_restarts"         : 100,
        "exec_interpreter"     : "node",
        "exec_mode"            : "fork_mode",
        "env":
        {
            "NODE_ENV"         : "production",
            "RPC_HOST"         : "localhost",
            "RPC_PORT"         : "PARITY RPC PORT, BY DEFAULT: 8545",
            "LISTENING_PORT"   : "30300",
            "INSTANCE_NAME"    : "YOUR FULL NAME",
            "CONTACT_DETAILS"  : "YOUR EMAIL",
            "WS_SERVER"        : "http://40.117.197.50:3000",
            "WS_SECRET"        : "NETSTATS SECRET CODE",
            "VERBOSITY"        : 2
        }
    }
]
  1. start the service
pm2 startOrRestart app.json

your node should appear on the dashboard 5-10 minutes later. If it doesn’t please look in the log files or use

pm2 logs

You can also check the status via

pm2 list

GENERAL SIDENODE: don’t forget to configure log rotation in case you’re planning on leaving this node running on its own for a long time.


#8

Using Azure deployment methodology what is the expected result?

Clearly deployment should succeed. About how long does it take?

What does one do if something goes wrong? How does one know?

How long will it take to show up in http://testnet.oracles.org:3000/ list.

When new node boots, guess it will need to sync blocks … if new node is red does on Oracles Dashboard

How does one validate that the installation is successful? … by receiving validator fees in payout account? If so, that is clunky … if something wrong should fail fast, ideally with some kind of notification.


#9

Using Azure deployment methodology what is the expected result?

To see you in the list of validators testnet.oracles.org:3000
Congratulations!

Clearly deployment should succeed. About how long does it take?

About 10-15 mins after you start deployment

What does one do if something goes wrong? How does one know?

You will not see you in the list or you will get errors in Azure console

How long will it take to show up in http://testnet.oracles.org:3000/ list.

About 10-15 mins

When new node boots, guess it will need to sync blocks … if new node is red does on Oracles Dashboard

It syncs blocks and after it syncs peers. At the moment, your blocks are synced and you still discover peers.

How does one validate that the installation is successful? … by receiving validator fees in payout account? If so, that is clunky … if something wrong should fail fast, ideally with some kind of notification.

The payout is daily cron. You can add your mining wallet to metamask, connect it to the testnet API and check it out.


#10

My node has been running for a day.

Noticed when I checked my payout account via MetaMask, the balance is zero.

Was there a script failure?
Where can I see how many blocks I validated/created?
What is the expected amount I should have received given current state of test net?

Also, when not is red in Oracles Dashboard/Netstats – what does that mean? – only connected to single peer?

Not sure if there are any dev actions being done to massage the network, i.e. scripts, etc … ? It would be nice to know about such actions … is there protocol are procedure in place to capture these actions.

Please advise. Thanks.


#11

Noticed when I checked my payout account via MetaMask, the balance is zero.

Can you check the balance of your mining address? We added only your mining address to the validator set, and your payout address is not in the contract. Thus, script on the host is not working.

Was there a script failure?

Right

Where can I see how many blocks I validated/created?

You can calculate it by your reward. There are no stats now for the individual validator.

What is the expected amount I should have received given current state of test net?

You get 1 coin every 13*5 sec

Also, when not is red in Oracles Dashboard/Netstats – what does that mean? – only connected to single peer?

In the current situation it means there are not enough peers. We should add more boot nodes for the trinity pre-mainnet.

Not sure if there are any dev actions being done to massage the network, i.e. scripts, etc … ?

It was a miracle… maybe Holy Ghost was involved in it?


#12

or perhaps … Domovye, who I have come to learn are also oracles. :slight_smile: