diff --git a/CHANGELOG.md b/CHANGELOG.md index e1799ba..54a61be 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,24 @@ -# v1.0.1 +# v1.1.0 +## Updates +* **Status:** Added P2Pool submenu: + - Total payouts across all time + - Total XMR mined across all time + - Formatted log lines of ALL payouts (date, amount, block) with sorting options + - Automatic/Manual calculator for average share/block time + - P2Pool/Monero stats for difficulty/hashrate/dominance +* **Status:** Added more process stats: + - P2Pool: Current Monero node IP/RPC/ZMQ + - P2Pool: Current Sidechain + - P2Pool: Current Monero address + - XMRig: Current Pool IP + - XMRig: Current thread usage +* **Key Shortcut:** Added two shortcuts: + - `C | Left Submenu` + - `V | Left Submenu` +* **Command Line:** Added two flags: + - `--payouts Print the P2Pool payout log, payout count, and total XMR mined` + - `--reset-payouts Reset the permanent P2Pool stats that appear in the [Status] tab` + ## Fixes * **macOS:** Added warning (and solution) if `Gupax/P2Pool/XMRig` were quarantined by [`Gatekeeper`](https://support.apple.com/en-us/HT202491) * **P2Pool/XMRig:** Added a red `Start` button on errors (bad PATH, invalid file, etc) and a solution in the tooltip @@ -7,7 +27,7 @@ * Miscellaneous UI changes and fixes ## Bundled Versions -* [`P2Pool v2.6`](https://github.com/SChernykh/p2pool/releases/tag/v2.6) +* [`P2Pool v2.7`](https://github.com/SChernykh/p2pool/releases/tag/v2.7) * [`XMRig v6.18.1`](https://github.com/xmrig/xmrig/releases/tag/v6.18.1) diff --git a/Cargo.lock b/Cargo.lock index a9bb987..c1194c2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -449,9 +449,9 @@ dependencies = [ [[package]] name = "calloop" -version = "0.10.4" +version = "0.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "19457a0da465234abd76134a5c2a910c14bd3c5558463e4396ab9a37a328e465" +checksum = "1a59225be45a478d772ce015d9743e49e92798ece9e34eda9a6aa2a6a7f40192" dependencies = [ "log", "nix 0.25.1", @@ -1798,7 +1798,7 @@ dependencies = [ [[package]] name = "gupax" -version = "1.0.1" +version = "1.1.0" dependencies = [ "anyhow", "arti-client", @@ -1841,9 +1841,9 @@ dependencies = [ [[package]] name = "half" -version = "2.1.0" +version = "2.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ad6a9459c9c30b177b925162351f97e7d967c7ea8bab3b8352805327daf45554" +checksum = "6c467d36af040b7b2681f5fddd27427f6da8d3d072f575a265e181d2f8e8d157" dependencies = [ "crunchy", ] @@ -2497,9 +2497,9 @@ checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451" [[package]] name = "nom" -version = "7.1.1" +version = "7.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a8903e5a29a317527874d0402f867152a3d21c908bb0b933e416c65e301d4c36" +checksum = "e5507769c4919c998e69e49c839d9dc6e693ede4cc4290d6ad8b41d4f09c548c" dependencies = [ "memchr", "minimal-lexical", @@ -2665,9 +2665,9 @@ dependencies = [ [[package]] name = "once_cell" -version = "1.16.0" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86f0b0d4bf799edbc74508c1e8bf170ff5f41238e5f8225603ca7caaae2b7860" +checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" [[package]] name = "opaque-debug" @@ -3420,18 +3420,18 @@ checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" [[package]] name = "serde" -version = "1.0.151" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97fed41fc1a24994d044e6db6935e69511a1153b52c15eb42493b26fa87feba0" +checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.151" +version = "1.0.152" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "255abe9a125a985c05190d687b320c12f9b1f0b99445e608c21ba0782c719ad8" +checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" dependencies = [ "proc-macro2", "quote", @@ -3440,9 +3440,9 @@ dependencies = [ [[package]] name = "serde_ignored" -version = "0.1.6" +version = "0.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "51212eb6171778353d78ef5860fdffe29ac17f03a69375d2dc14fbb5754d54a4" +checksum = "94eb4a4087ba8bdf14a9208ac44fddbf55c01a6195f7edfc511ddaff6cae45a6" dependencies = [ "serde", ] @@ -3832,9 +3832,9 @@ dependencies = [ [[package]] name = "sysinfo" -version = "0.27.1" +version = "0.27.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ccb297c0afb439440834b4bcf02c5c9da8ec2e808e70f36b0d8e815ff403bd24" +checksum = "17351d0e9eb8841897b14e9669378f3c69fb57779cc04f8ca9a9d512edfb2563" dependencies = [ "cfg-if", "core-foundation-sys", diff --git a/Cargo.toml b/Cargo.toml index 8c3f150..2d0ddcd 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "gupax" -version = "1.0.1" +version = "1.1.0" authors = ["hinto-janaiyo "] description = "GUI for P2Pool+XMRig" documentation = "https://github.com/hinto-janaiyo/gupax" diff --git a/README.md b/README.md index c8b7a31..4d08325 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ Gupax is a (Windows|macOS|Linux) GUI for mining [**Monero**](https://github.com/ * [What is Monero/P2Pool/XMRig/Gupax?](#what-is-monero-p2pool-xmrig-and-gupax) * [How-To](#How-To) * [Simple](#Simple) + - [Status](#Status) - [Gupax](#Gupax) - [P2Pool](#P2Pool) - [XMRig](#XMRig) @@ -20,6 +21,7 @@ Gupax is a (Windows|macOS|Linux) GUI for mining [**Monero**](https://github.com/ - [Logs](#Logs) - [Disk](#Disk) - [Swapping P2Pool/XMRig](#Swapping-P2PoolXMRig) + - [Status](#Status-1) - [Gupax](#Gupax-1) - [P2Pool](#P2Pool-1) - [XMRig](#XMRig-1) @@ -105,8 +107,23 @@ The `Gupax/P2Pool/XMRig` tabs have two versions, `Simple` & `Advanced`. `Simple` is for a minimal & working out-of-the-box configuration. +### Status +This tab has 2 submenus that show some info about running processes and P2Pool-specific stats. + +**Processes:** + +![processes.png](https://github.com/hinto-janaiyo/gupax/blob/main/images/processes.png) + +**P2Pool:** +This submenu shows: +- ***Permanent*** stats on all your payouts received via P2Pool & Gupax +- Payout sorting options +- Share/block time calculator + +![payouts.png](https://github.com/hinto-janaiyo/gupax/blob/main/images/payouts.png) + ### Gupax -In this tab, there is the updater and general Gupax settings. +This tab has the updater and general Gupax settings. If `Check for updates` is pressed, Gupax will update your `Gupax/P2Pool/XMRig` (if needed) using the [GitHub API](#where-are-updates-downloaded-from). @@ -190,16 +207,18 @@ Gupax comes with some command line options: ``` USAGE: ./gupax [--flag] - --help Print this help message - --version Print version and build info - --state Print Gupax state - --nodes Print the manual node list - --no-startup Disable all auto-startup settings for this instance - --reset-state Reset all Gupax state (your settings) - --reset-nodes Reset the manual node list in the [P2Pool] tab - --reset-pools Reset the manual pool list in the [XMRig] tab - --reset-all Reset the state, the manual node list, and the manual pool list - --ferris Print an extremely cute crab + --help Print this help message + --version Print version and build info + --state Print Gupax state + --nodes Print the manual node list + --payouts Print the P2Pool payout log, payout count, and total XMR mined + --no-startup Disable all auto-startup settings for this instance (auto-update, auto-ping, etc) + --reset-state Reset all Gupax state (your settings) + --reset-nodes Reset the manual node list in the [P2Pool] tab + --reset-pools Reset the manual pool list in the [XMRig] tab + --reset-payouts Reset the permanent P2Pool stats that appear in the [Status] tab + --reset-all Reset the state, manual node list, manual pool list, and P2Pool stats + --ferris Print an extremely cute crab ``` By default, Gupax has `auto-update` & `auto-ping` enabled. This can only be turned off in the GUI which causes a chicken-and-egg problem. To get around this, start Gupax with `--no-startup`. This will disable all `auto` features for that instance. @@ -207,7 +226,7 @@ By default, Gupax has `auto-update` & `auto-ping` enabled. This can only be turn --- ### Key Shortcuts -The letter keys (Z/X/S/R) will only work if nothing is in focus, i.e, you _are not_ editing a text box. +The letter keys (Z/X/C/V/S/R) will only work if nothing is in focus, i.e, you _are not_ editing a text box. An ALT+F4 will also trigger the exit confirm screen (if enabled). ``` @@ -218,8 +237,10 @@ An ALT+F4 will also trigger the exit confirm screen (if enabled). | Escape | Quit screen | | Up | Start/Restart | | Down | Stop | -| Z | Switch to Left Tab | -| X | Switch to Right Tab | +| Z | Left Tab | +| X | Right Tab | +| C | Left Submenu | +| V | Right Submenu | | S | Save | | R | Reset | *---------------------------------------* @@ -235,7 +256,7 @@ This can be changed by dragging the corner of the window itself or by using the If you have changed your OS's pixel scaling, you may need to resize Gupax to see all UI correctly. The minimum window size is: `640x480` -The maximum window size is: `2560x1920` +The maximum window size is: `3840x2160` Fullscreen mode can also be entered by pressing `F11`. --- @@ -278,6 +299,7 @@ The current files saved to disk: * `state.toml` Gupax state/settings * `node.toml` The manual node database used for P2Pool advanced * `pool.toml` The manual pool database used for XMRig advanced +* `p2pool/` The Gupax-P2Pool API files --- @@ -342,6 +364,49 @@ gupax/ --- +### Status +The `[P2Pool]` submenu in this tab reads/writes to a file-based API in a folder called `p2pool` located in the [Gupax OS data directory:](#Disk) + +| File | Purpose | Specific Data Type | +|----------|---------------------------------------------------------|--------------------| +| `log` | Formatted payout lines extracted from P2Pool | Basically a `String` that needs to be parsed correctly +| `payout` | The total amount of payouts received via P2Pool & Gupax | `u64` +| `xmr` | The total amount of XMR mined via P2Pool & Gupax | Atomic Units represented with a `u64` + +The `log` file contains formatted payout lines extracted from your P2Pool: +``` +