Unlike cpu/gpu mining rig, we cannot install sentry on each asic. There is a machine installed sentry,
and this sentry will fetch logs from many asics.
In this sequence diagram, the Login-User does also mean the web browser.
sequenceDiagram
Login-User ->> Commander: go the asic mining rig index
Commander -->> Login-User: return page
Login-User ->> Commander: setup socket connection
Commander -->> Commander: subscribe to pubsub asic-mining-rig-index
Login-User ->> Login-User: click on Create, a dialog open
Login-User ->> Login-User: enter asic mining rig name
Login-User ->> Commander: submit
Commander -->> Login-User: OK
Commander ->> Commander: broadcast message that new mining rig created
Commander ->> Login-User: send new created mining rig + token
Login-User ->> Login-User: Receive
Login-User ->> Login-User: update UI
Press "Alt" / "Option" to enable Pan & Zoom
On the sentry side, user needs to know asic IP first. After that, in the sentry UI, add
ASIC IP
ASIC Model (required to determine fetching log solution)
ASIC Token: provide in the first phrase.
This is screenshot:
Feature 8: Remove ASIC mining rig
This feature remove mining rig from dashboard to monitor. On the senry side, the mining rig still exist, but dislay an invalid token.
sequenceDiagram
Login-User ->> Commander: Go to asic mining rig index
Commander -->> Login-User: return page
Login-User ->> Commander: Setup socket connection
Commander -->> Login-User: OK
Commander ->> Commander: subscribe to pubsub asic-mining-rig-index
Commander ->> Commander: subscribe to pubsub asic-mining-rig-operaional-stats
rect rgb(191, 223, 255)
Login-User ->> Login-User: choose an asic mining rig
Login-User ->> Commander: send delete request a mining rig
Commander ->> Database: Delete involve records
Database -->> Commander: OK
Commander ->> Login-User: OK, deleted
Commander ->> Commander: broadcast to asic-mining-rig-index
Commander ->> Login-User: send message a asic mining rig deleted
Login-User ->> Login-User: Update UI
end
rect rgb(191, 223, 255)
Commander ->> Commander: broadcast to asic-mining-rig:id , that delete a rig
Commander ->> Another-Login-User: send message current watching rig is deleted
Another-Login-User ->> Another-Login-User: redirect to asic index page.
end
Commander ->> Commander: GenServer asic-mining-rig-operational-stats recalculate
rect rgb(191, 223, 255)
Commander ->> Commander: broadcast to asic-mining-rig-operation-stats for the update
Commander ->> Login-User: send stats update
Login-User -->> Login-User: update UI
end
Press "Alt" / "Option" to enable Pan & Zoom
Feature 9: View overall ASIC mining rig with index page
This feature allows users to view asic mining rig overview, and view aggregate figures such as total hashrate by coin, power consumption.
An action list which affect UI in realtime:
(1)ASIC miner
CREATE new ASIC miner: a new miner appear in not_activated table
UPDATE old ASIC miner: update asic miner name if exist in not_activated table and activated table
DELETE old AISC miner: delete asic miner if exist in not_activated table and activated table
(2)Sentry send ASIC miner specification to Commander, change asic miner from not activated table to activated table
with new specification data
(3)Sentry send operational log of ASIC miner to Commander. change asic miner operational data such as hashrate, temperature ... in the activated table
This is a sequence diagram showing that user viewing /asic_miners/ given that user has login successfully!
sequenceDiagram
Login-User ->> Commander: request to view asic-mining rig index
Commander -->> Login-User: return html asic-mining-rig-index page
Login-User ->> Commander: setup web socket connection
Commander ->> Commander: subscribe to the pubsub: flash_index
Commander ->> Commander: subscribe to the pubsub: asic_miner_index_channel
Commander ->> Commander: subscribe to the pubsub: asic_miner_index_operational_channel
Commander -->> Login-User: OK
Press "Alt" / "Option" to enable Pan & Zoom
There are two pubsub channel that we use here for broadcasting changes:
asic_miner_index: to receive message incase of create/update/delete asic miner
asic_miner_operational_channel: to receive message about minining operation such as total hashrate, power consumption, temperature , and aggregated data.
The pubsub channel does not store data. The real data is store in AsicMinerOperationalIndex process, these process be update as sentry send data to Commander.
This is a wireframe for asic miner index.
This is a screenshot for asic miner index.
Feature 10: View ASIC mining rig detail
sequenceDiagram
Login-User ->> Commander: request to view asic_miner show page, /asic_miners/:id
Commander -->> Login-User: return asic_miner show page
Login-User ->> Commander: setup web socket connection
Commander ->> Commander: subscribe to the pubsub: asic_miner_channel:id
Commander ->> Commander: subscribe to the pubsub: asic_miner_operational_channel:id
Commander -->> Login-User: OK
Press "Alt" / "Option" to enable Pan & Zoom
There are two pubsub channel using here:
asic_miner_channel:id: listen to asic miner update event.
asic_miner_operational_channel:id: listen to asic miner log event
This is a wireframe when sentry finished sending data to Commander.