How to use miner monitor tool

Current tool locations (may change):
https://phala-miner-monitor2.100k.dev/

Verify tool state

Monitor collects data about all miners by fetching public blockchain data.
So miners state will be always a little delayed. You can check tool status on top of app.
image
Crawler sync describes how many blocks are waiting for processing in tool.
Some less important informations about accounts are updated in 12h intervals.

How to add miners

  • Manually add each miner

    On Miners panel click “Add miner” and put your controller account address. Optionally specify name (if you want to distinct many miners)
  • Find miners via common payout target

    If you have multiple controller accounts which has the same payout target (common technique) you can add payout target account and next use “Find miners” option

Some tool details

Payout target view

Miners target view

Columns

  • Name, Address
    self explanatory

  • Score
    miner score - also available via chain state request phalaModule::workerState

  • State
    first tag is miner state (Empty / MiningPending / Mining etc.) accessible via phalaModule::workerState.
    Second line tags are set by miner performance.

    • Online / Offline - miner is online if submit transaction (extrinsic) in last 4h
    • Rewarding / Not rewarding - miner is rewarding if got reward in last 4h

    Third line describes device stats - details in device stats section.

  • Commission
    If you don’t stake full amount by yourself you probably want to tempt others to stake on your device. This is reward commission also available via phalaModule::stashState

  • Stake
    Miner stake - check miningStaking::stakeReceived

  • Balance
    Miner PHA balance

  • Fire mined
    Total fire mined via each miner phalaModule::fireX

  • Last extrinsics
    Last extrinsics executed via miner. If not executed successfully it will be marked red.

  • Last rewards
    Last rewards received by miner with information of type “Online” / “Compute” reward

Device state monitoring

Besides public data monitoring you can also monitor device state like:
CPU temp, Stack status (node / pruntime / phost containers)

However this had to be somehow secured. Otherwise anyone could submit updates of any device state.
For that reason I added verifying of payout target ownership.
You need to sign message - it is costless, simple and secure (as long as you know what doing), common action.

You need polkadot.js extension with payout target account managed by it.

After connecting with extension you will be able to select payout target account and specify password (secret key) for it.
image
Provided password will be stored (in hashed form) in crawlers database.

When you want to update device state you need to provide that password.

Here is device stats collector script
https://github.com/l00k/phala-miner-monitor-ui/blob/master/device-state-updater.php
In top lines you need to specify 2 things: controller address and password given previously.

Add running of this script (PHP required) to CRON and it will submit CPU and docker containers state to monitor tool.
You will be able to monitor it like below:
image

Note: device state will be publicly visible to anyone who enter your public address. But those informations are not confidential (at least not confidential a lot).
Still I suggest to do that only to people who know what they are doing ;)

Visual stats

As you may notice tools also provides some basic stats visualized with graphs

image

image

Other features

If you have any suggestions what should be nice to include in this tool - feel free to comment below. Any useful features will be implemented depending on the possibilities.

2 Likes