feature: add alternate algorithm handlers (#240)

* feature: handle all hashrate algorithm conversions for antminers

* feature: handle all hashrate algorithm conversions for auradine

* feature: handle all hashrate algorithm conversions for avalonminers

* feature: handle all hashrate algorithm conversions for bitaxe

* feature: handle all hashrate algorithm conversions for epic

* feature: handle all hashrate algorithm conversions for goldshell

* refactor: clean up imports

* feature: handle all hashrate algorithm conversions for hammer

* feature: handle all hashrate algorithm conversions for iceriver

* feature: handle all hashrate algorithm conversions for innosilicon

* feature: handle all hashrate algorithm conversions for whatsminer

* tests: update tests to check if miners have board, fan, and algo values

* feature: finish updating all miners with boards, fans, and algos

* feature: update algorithm default values

* feature: add algorithm hashrate values

* feature: improve hashrate types, and use `self.algo` inside miners

---------

Co-authored-by: Upstream Data <brett@upstreamdata.ca>
This commit is contained in:
Brett Rowan
2024-11-21 13:44:17 -07:00
committed by GitHub
parent d66739e2c9
commit c00802e311
171 changed files with 2436 additions and 229 deletions

View File

@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,9 +22,15 @@ class M30V10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30V10
expected_chips = 105
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30V20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30V20
expected_chips = 111
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -22,3 +23,5 @@ class M30KV10(WhatsMinerMake):
expected_hashboards = 4
expected_chips = 240
expected_fans = 2
algo = MinerAlgo.SHA256

View File

@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -20,5 +21,7 @@ from pyasic.miners.device.makes import WhatsMinerMake
class M30LV10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30LV10
board_num = 4
expected_chips = 144
expected_fans = 2
expected_hashboards = 4
algo = MinerAlgo.SHA256

View File

@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,161 +22,253 @@ class M30SV10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SV10
expected_chips = 148
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SV20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SV20
expected_chips = 156
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SV30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SV30
expected_chips = 164
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SV40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SV40
expected_chips = 172
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SV50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SV50
expected_chips = 156
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SV60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SV60
expected_chips = 164
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SV70(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SV70
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SV80(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SV80
expected_chips = 129
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SVE10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVE10
expected_chips = 105
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SVE20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVE20
expected_chips = 111
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SVE30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVE30
expected_chips = 117
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SVE40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVE40
expected_chips = 123
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SVE50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVE50
expected_chips = 129
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SVE60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVE60
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SVE70(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVE70
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SVF10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVF10
expected_chips = 70
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SVF20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVF20
expected_chips = 74
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SVF30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVF30
expected_chips = 78
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SVG10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVG10
expected_chips = 66
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SVG20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVG20
expected_chips = 70
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SVG30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVG30
expected_chips = 74
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SVG40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVG40
expected_chips = 78
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SVH10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVH10
expected_chips = 64
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SVH20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVH20
expected_chips = 66
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SVH30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVH30
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SVH40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVH40
expected_chips = 64
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SVH50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVH50
expected_chips = 66
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SVH60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVH60
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SVI20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SVI20
expected_chips = 70
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,173 +22,271 @@ class M30SPlusV10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusV10
expected_chips = 215
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusV20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusV20
expected_chips = 255
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusV30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusV30
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusV40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusV40
expected_chips = 235
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusV50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusV50
expected_chips = 225
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusV60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusV60
expected_chips = 245
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusV70(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusV70
expected_chips = 235
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusV80(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusV80
expected_chips = 245
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusV90(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusV90
expected_chips = 225
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusV100(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusV100
expected_chips = 215
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVE30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVE30
expected_chips = 148
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVE40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVE40
expected_chips = 156
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVE50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVE50
expected_chips = 164
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVE60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVE60
expected_chips = 172
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVE70(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVE70
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVE80(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVE80
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVE90(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVE90
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVE100(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVE100
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVF20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVF20
expected_chips = 111
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVF30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVF30
expected_chips = 117
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVG20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVG20
expected_chips = 82
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVG30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVG30
expected_chips = 78
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVG40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVG40
expected_chips = 105
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVG50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVG50
expected_chips = 111
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVG60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVG60
expected_chips = 86
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVH10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVH10
expected_chips = 64
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVH20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVH20
expected_chips = 66
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVH30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVH30
expected_chips = 70
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVH40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVH40
expected_chips = 74
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVH50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVH50
expected_chips = 64
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusVH60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusVH60
expected_chips = 66
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -13,109 +13,192 @@
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
class M30SPlusPlusV10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusV10
expected_hashboards = 4
expected_chips = 255
expected_fans = 2
algo = MinerAlgo.SHA256
class M30SPlusPlusV20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusV20
expected_hashboards = 4
expected_chips = 255
expected_fans = 2
algo = MinerAlgo.SHA256
class M30SPlusPlusVE30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVE30
expected_chips = 215
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusPlusVE40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVE40
expected_chips = 225
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusPlusVE50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVE50
expected_chips = 235
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusPlusVF40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVF40
expected_chips = 156
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusPlusVG30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVG30
expected_chips = 111
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusPlusVG40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVG40
expected_chips = 117
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusPlusVG50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVG50
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusPlusVH10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVH10
expected_chips = 82
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusPlusVH20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVH20
expected_chips = 86
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusPlusVH30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVH30
expected_chips = 111
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusPlusVH40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVH40
expected_chips = 70
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusPlusVH50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVH50
expected_chips = 74
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusPlusVH60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVH60
expected_chips = 78
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusPlusVH70(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVH70
expected_chips = 70
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusPlusVH80(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVH80
expected_chips = 74
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusPlusVH90(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVH90
expected_chips = 78
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusPlusVH100(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVH100
expected_chips = 82
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusPlusVJ20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVJ20
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M30SPlusPlusVJ30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M30SPlusPlusVJ30
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,9 +22,15 @@ class M31V10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31V10
expected_chips = 70
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31V20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31V20
expected_chips = 74
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -22,6 +23,8 @@ class M31HV10(WhatsMinerMake):
expected_chips = 114
expected_fans = 0
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31HV40(WhatsMinerMake):
@@ -30,3 +33,4 @@ class M31HV40(WhatsMinerMake):
expected_hashboards = 4
expected_chips = 136
expected_fans = 0
algo = MinerAlgo.SHA256

View File

@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,3 +22,6 @@ class M31LV10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31LV10
expected_chips = 114
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,65 +22,103 @@ class M31SV10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SV10
expected_chips = 105
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SV20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SV20
expected_chips = 111
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SV30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SV30
expected_chips = 117
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SV40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SV40
expected_chips = 123
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SV50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SV50
expected_chips = 78
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SV60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SV60
expected_chips = 105
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SV70(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SV70
expected_chips = 111
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SV80(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SV80
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SV90(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SV90
expected_chips = 117
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SVE10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SVE10
expected_chips = 70
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SVE20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SVE20
expected_chips = 74
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SVE30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SVE30
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,15 +22,24 @@ class M31SEV10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SEV10
expected_chips = 82
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SEV20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SEV20
expected_chips = 78
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SEV30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SEV30
expected_chips = 78
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,111 +22,174 @@ class M31SPlusV10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusV10
expected_chips = 105
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SPlusV20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusV20
expected_chips = 111
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SPlusV30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusV30
expected_chips = 117
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SPlusV40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusV40
expected_chips = 123
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SPlusV50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusV50
expected_chips = 148
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SPlusV60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusV60
expected_chips = 156
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SPlusV80(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusV80
expected_chips = 129
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SPlusV90(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusV90
expected_chips = 117
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SPlusV100(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusV100
expected_chips = 111
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SPlusVE10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusVE10
expected_chips = 82
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SPlusVE20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusVE20
expected_chips = 78
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SPlusVE30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusVE30
expected_chips = 105
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SPlusVE40(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusVE40
expected_chips = 111
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SPlusVE50(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusVE50
expected_chips = 117
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SPlusVE60(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusVE60
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SPlusVE80(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusVE80
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SPlusVF20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusVF20
expected_chips = 66
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SPlusVF30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusVF30
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SPlusVG20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusVG20
expected_chips = 66
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M31SPlusVG30(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M31SPlusVG30
expected_chips = 70
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,9 +22,15 @@ class M32V10(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M32V10
expected_chips = 78
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M32V20(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M32V20
expected_chips = 74
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -21,3 +22,6 @@ class M32S(WhatsMinerMake):
raw_model = MinerModel.WHATSMINER.M32S
expected_chips = 78
expected_fans = 2
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -22,6 +23,8 @@ class M33V10(WhatsMinerMake):
expected_chips = 33
expected_fans = 0
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M33V20(WhatsMinerMake):
@@ -29,6 +32,8 @@ class M33V20(WhatsMinerMake):
expected_chips = 62
expected_fans = 0
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M33V30(WhatsMinerMake):
@@ -36,3 +41,5 @@ class M33V30(WhatsMinerMake):
expected_chips = 66
expected_fans = 0
expected_hashboards = 3
algo = MinerAlgo.SHA256

View File

@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -23,3 +24,4 @@ class M33SVG30(WhatsMinerMake):
expected_hashboards = 4
expected_chips = 116
expected_fans = 0
algo = MinerAlgo.SHA256

View File

@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -23,6 +24,7 @@ class M33SPlusVG20(WhatsMinerMake):
expected_hashboards = 4
expected_chips = 112
expected_fans = 0
algo = MinerAlgo.SHA256
class M33SPlusVH20(WhatsMinerMake):
@@ -31,6 +33,7 @@ class M33SPlusVH20(WhatsMinerMake):
expected_hashboards = 4
expected_chips = 100
expected_fans = 0
algo = MinerAlgo.SHA256
class M33SPlusVH30(WhatsMinerMake):
@@ -38,3 +41,4 @@ class M33SPlusVH30(WhatsMinerMake):
expected_hashboards = 4
expected_fans = 0
algo = MinerAlgo.SHA256

View File

@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -23,6 +24,7 @@ class M33SPlusPlusVH20(WhatsMinerMake):
expected_hashboards = 4
expected_chips = 112
expected_fans = 0
algo = MinerAlgo.SHA256
class M33SPlusPlusVH30(WhatsMinerMake):
@@ -30,6 +32,7 @@ class M33SPlusPlusVH30(WhatsMinerMake):
expected_hashboards = 4
expected_fans = 0
algo = MinerAlgo.SHA256
class M33SPlusPlusVG40(WhatsMinerMake):
@@ -38,3 +41,4 @@ class M33SPlusPlusVG40(WhatsMinerMake):
expected_hashboards = 4
expected_chips = 174
expected_fans = 0
algo = MinerAlgo.SHA256

View File

@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -23,3 +24,4 @@ class M34SPlusVE10(WhatsMinerMake):
expected_hashboards = 4
expected_chips = 116
expected_fans = 0
algo = MinerAlgo.SHA256

View File

@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -23,3 +24,4 @@ class M36SVE10(WhatsMinerMake):
expected_hashboards = 4
expected_chips = 114
expected_fans = 0
algo = MinerAlgo.SHA256

View File

@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -23,3 +24,4 @@ class M36SPlusVG30(WhatsMinerMake):
expected_hashboards = 4
expected_chips = 108
expected_fans = 0
algo = MinerAlgo.SHA256

View File

@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -23,3 +24,4 @@ class M36SPlusPlusVH30(WhatsMinerMake):
expected_hashboards = 4
expected_chips = 80
expected_fans = 0
algo = MinerAlgo.SHA256

View File

@@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and -
# limitations under the License. -
# ------------------------------------------------------------------------------
from pyasic.device.algorithm import MinerAlgo
from pyasic.device.models import MinerModel
from pyasic.miners.device.makes import WhatsMinerMake
@@ -22,6 +23,8 @@ class M39V10(WhatsMinerMake):
expected_chips = 50
expected_fans = 0
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M39V20(WhatsMinerMake):
@@ -29,6 +32,8 @@ class M39V20(WhatsMinerMake):
expected_chips = 54
expected_fans = 0
expected_hashboards = 3
algo = MinerAlgo.SHA256
class M39V30(WhatsMinerMake):
@@ -36,3 +41,5 @@ class M39V30(WhatsMinerMake):
expected_chips = 68
expected_fans = 0
expected_hashboards = 3
algo = MinerAlgo.SHA256