Skip to content

Commit

Permalink
Mining: pool list can be imported, no more default list
Browse files Browse the repository at this point in the history
The format is raw text, one record per line, with the format:
NAME: URI

NAME is free text (without colons), URI is the URI to the mining
port:

Example Monero pool: stratum+tcp://pool.example.com:1234
  • Loading branch information
moneromooo.monero committed Dec 29, 2016
1 parent 3dc897e commit 7f8c3c8
Showing 1 changed file with 57 additions and 8 deletions.
65 changes: 57 additions & 8 deletions pages/Mining.qml
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,30 @@ Rectangle {
return uri
}

function importPools(uri) {
var lines
var req = new XMLHttpRequest()
req.onreadystatechange = function(event) {
if (req.readyState == XMLHttpRequest.DONE && req.status == 200) {
lines = req.responseText.split("\n")

miningPoolModel.clear()
miningPoolModel.append({"column1": "Automatic (recommended)", "column2": "", "uri": ""})
for (var n = 0; n < lines.length; n++) {
var line = lines[n].trim()
if (line !== "") {
var offset = line.search(":")
var name = line.substr(0, offset).trim()
var uri = line.substr(offset+1).trim()
miningPoolModel.append({"column1": name, "column2": "", "uri": uri})
}
}
}
}
req.open("GET", uri)
req.send()
}

/* main layout */
ColumnLayout {
id: mainLayout
Expand Down Expand Up @@ -85,15 +109,10 @@ Rectangle {

RowLayout {
z: 1
Layout.fillWidth: true
ListModel {
id: miningPoolModel
ListElement { column1: qsTr("Automatic (recommended)") ; column2: ""; uri: "" } // must be first
ListElement { column1: qsTr("moneroworld.com") ; column2: ""; uri: "stratum+tcp://drill.moneroworld.com:7777" }
ListElement { column1: qsTr("monerohash.com") ; column2: ""; uri: "stratum+tcp://monerohash.com:7777" }
ListElement { column1: qsTr("poolto.be") ; column2: ""; uri: "stratum+tcp://xmr.poolto.be:3000" }
ListElement { column1: qsTr("supportxmr.com") ; column2: ""; uri: "stratum+tcp://pool.supportxmr.com:5555" }
ListElement { column1: qsTr("xmrpool.eu") ; column2: ""; uri: "stratum+tcp://xmrpool.eu:5555" }
ListElement { column1: qsTr("prohash.net") ; column2: ""; uri: "stratum+tcp://xmr.prohash.net:2222" }
}

Label {
Expand All @@ -102,6 +121,22 @@ Rectangle {
text: qsTr("Mining pool") + translationManager.emptyString
}

StandardButton {
visible: true
id: importPoolListButton
anchors.leftMargin: 17
anchors.rightMargin: 17
width: 110
text: qsTr("IMPORT POOLS") + translationManager.emptyString
shadowReleasedColor: "#FF4304"
shadowPressedColor: "#B32D00"
releasedColor: "#FF6C3C"
pressedColor: "#FF4304"
onClicked: {
importPoolsDialog.open()
}
}

StandardDropdown {
id: miningPoolDropdown
anchors.leftMargin: 17
Expand All @@ -113,6 +148,17 @@ Rectangle {
pressedColor: "#FF4304"
dataModel: miningPoolModel
}

FileDialog {
id: importPoolsDialog
title: "Please choose a file to import pools from"
folder: "file://"
nameFilters: ["*"]

onAccepted: {
importPools(importPoolsDialog.fileUrl)
}
}
}

RowLayout {
Expand Down Expand Up @@ -234,8 +280,11 @@ Rectangle {

function start() {
var address = appWindow.currentWallet.address
var flags = " -a cryptonight -u " + address + " -p x -o " + getSelectedPool() + " -t " + poolMinerThreadsLine.text;
appWindow.startPoolMiner(flags)
var pool = getSelectedPool()
if (pool !== "") {
var flags = " -a cryptonight -u " + address + " -p x -o " + pool + " -t " + poolMinerThreadsLine.text;
appWindow.startPoolMiner(flags)
}
}

function updateStatusText() {
Expand Down

0 comments on commit 7f8c3c8

Please sign in to comment.