Bitmine
Working with Bitmine Antminer ASIC devices.
Supported devices:
JavaScript Properties
Miner Base Entity
// Constant with the unique device ID
const ENTITY_ID;
const result = Miner
.stats()
.devs()
.summary()
.pools()
.addPool(url)
.version()
.enable(poolId)
.disable(poolId)
.delete(poolId)
.switchPool(poolId)
.restart();
Property |
Description |
result |
Type: Object (Result) |
Property |
Description |
stats |
Type: Method, statistics |
devs |
Type: Method, statistics |
summary |
Type: Method, statistics |
pools |
Type: Method, server list |
addPool |
Type: Method, add server |
version |
Type: Method, firmware version |
enable |
Type: Method, enable server |
disable |
Type: Method, disable server |
delete |
Type: Method, delete server |
switchPool |
Type: Method, switch server |
restart |
Type: Method, soft device restart |
Result Object
const result = {
error: false,
errMessage: "",
result: ""
};
Property |
Description |
error |
Type: boolean, error indicator |
errMessage |
Type: string, human-readable error message |
result |
Type: string, JSON object in string format, if the request is completed without errors |
entityAction Function
entityAction = (entityId, actionName, args) => {
}
Property |
Description |
entityId |
Type: string, ID of the entity sending the message |
actionName |
Type: string, name of the action, in uppercase without the ‘/’ symbol |
args |
Type: map[string]any |
EntityStateParams Object
const entityStateParams = {
"new_state": "",
"attribute_values": {},
"settings_value": {},
"storage_save": true
};
Property |
Description |
new_state |
Type: *string, name of the new state |
attribute_values |
Type: Object, new state of the entity’s attributes |
settings_value |
Type: Object, new state of the entity’s settings |
storage_save |
Type: boolean, indicator to save the new state to the database |
Code Example
# cgminer
# ##################################
ifError =(res)->
return !res || res.error || res.Error
checkStatus =(args)->
stats = Miner.stats()
if ifError(stats)
EntitySetState ENTITY_ID,
'new_state': 'ERROR'
return
p = JSON.parse(stats.result)
print p
checkSum =(args)->
summary = Miner.summary()
if ifError(summary)
EntitySetState ENTITY_ID,
'new_state': 'ERROR'
return
p = JSON.parse(summary.result)
print p
entityAction = (entityId, actionName, args)->
switch actionName
when 'CHECK' then checkStatus(args)
when 'SUM' then checkSum(args)