Step 7: Validate 0Chain deployment
  1. 1.
    After starting sharders, miners and blobbers verify whether they are up and running perfectly using the command
docker ps
In the response, the following containers should be up and running (see the screenshot below )
Note: if your containers are restarting and are not showing up when using the docker ps command. Try to check the following things
  • Ensure ports mapped to these containers are not mapped to other services.
  • Also, check your RAM and storage space. If you are not using the amount of compute resources specified in the System Requirements section. Your machine will not be able to start all the services and containers
2.If the containers are showing up properly as mentioned in the above screenshot you will also see their port mappings listed in the ports section(see the screenshot above) . To verify the status of a particular miner sharder or blobber open the http://localhost:<portnumber>/_diagnostics.
3. For example let's check the status of our miners hosted on port 7071 by opening the following link http://localhost:7071/_diagnostics in the browser.
In response, you should see a page responding to the miner details as shown below:

Note: The State Health Must be 0 for all the miners and sharders as shown in the image above with a red highlight. This signifies the blockchain is working fine.

Miner and Sharder Stats Glossary Table

Current Round:
Current round signifies the active round that the miners are working on to generate a block, and then verify and notarize it. A particular round gets completed when there is a consensus threshold met among miners to notarize the block.
Stands for verifiable random function. This is used by 0Chain to randomize the order in which blocks are generated. VRFs are also used by miners to check 'random' chunks of data stored on blobbers
Stands for random round seed and is the verifiable random number generated by the miners using the VRF.
Stands for the number of verified block tickets that have been processed,needs to be greater than the consensus threshold.
Stands for last finalized block or round. The miners run finalization routine on penultimate round, after completion of the current round.
Latest finalized round:
This refers to the most active round of challenges that got completed.
Deterministic finalized round:
This refers to predicted round of challenges that got completed.
The number of rollbacks performed by a miner node to undo a block(s) that was previously confirmed on the blockchain.
Number of timeouts happened when mining a block. A timeout for a node is recorded when the time to validate a block exceeds the set limit.
Round Timeout Count:
When Timeouts occur, the block is resent several times to account for DDoS attack and network issues. However, if the DDoS is focused toward generators then the only defense is to retry the round with a new VRF and have a new set of generators and blocks.
Number of concurrent go executing functions/activities. The number represent Stack traces of all current goroutines
Heap allocs:
It is a live memory allocation of the current miner or sharder.
State missing nodes:
State Nodes that are missing a valid health state. Pending indicates an invalid health state. This is corrected by restarting the blockchain
Redis Collection:
Redis is a key value store. It represents the number of key value stores.
LFB state(computed/initialized):
This indicates the state of last finalized blocks that are computed and still in progress.
Fetching blocks from miners,sharders:
This indicates the number of fetched miners and sharders blocks to sync up the state.
Is active in chain:
This indicates whether the particular miner node is actively participating in the blockchain.