diff --git a/CHANGELOG.md b/CHANGELOG.md index 5167ade..29617b5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,11 +1,16 @@ # v1.1.1 ## Updates -* Added [`nodes.hashvault.pro`](https://hashvault.pro) to [Community Monero Nodes](https://github.com/hinto-janaiyo/gupax#community-monero-nodes) list -* Added [`node.moneroworld.com`](https://moneroworld.com) to [Community Monero Nodes](https://github.com/hinto-janaiyo/gupax#community-monero-nodes) list -* Added warning in `[P2Pool Simple]` tab about using remote nodes +* **Nodes:** Added 5 nodes to [Community Monero Nodes](https://github.com/hinto-janaiyo/gupax#community-monero-nodes) list: + - `nodes.hashvault.pro` + - `node.moneroworld.com` + - `uwillrunanodesoon.moneroworld.com` + - `176.9.0.187` [(Monero seed node)](https://github.com/monero-project/monero/blob/release-v0.18/src/p2p/net_node.inl#L708) + - `51.79.173.165` [(Monero seed node)](https://github.com/monero-project/monero/blob/release-v0.18/src/p2p/net_node.inl#L715) +* **P2Pool:** Added warning in `[P2Pool Simple]` tab about using remote nodes ## Fixes -* Top/Bottom bars are smaller, fixes some UI overflowing or being cramped +* **UI:** Top/Bottom bars are smaller, fixes some UI overflowing or being cramped +* **Nodes:** Node ping colors are more strict (<200ms = GREEN, 200ms-499ms = YELLOW, >500ms = RED) ## Bundled Versions * [`P2Pool v3.0`](https://github.com/SChernykh/p2pool/releases/tag/v3.0) diff --git a/README.md b/README.md index 4d41f0d..484bd54 100644 --- a/README.md +++ b/README.md @@ -525,27 +525,30 @@ In general, a suitable node needs to: - Have ZMQ enabled - Have an owner known by the general Monero community -| Name | Owner Type | IP/Domain | RPC Port | ZMQ Port | -|-------------------------------------------------------|------------|----------------------------------|----------|----------| -| [C3pool](https://www.c3pool.com) | Pool | node.c3pool.com | 18081 | 18083 | -| [Cake](https://cakewallet.com) | Wallet | xmr-node.cakewallet.com | 18081 | 18083 | -| [CakeEu](https://cakewallet.com) | Wallet | xmr-node-eu.cakewallet.com | 18081 | 18083 | -| [CakeUk](https://cakewallet.com) | Wallet | xmr-node-uk.cakewallet.com | 18081 | 18083 | -| [CakeUs](https://cakewallet.com) | Wallet | xmr-node-usa-east.cakewallet.com | 18081 | 18083 | -| [Feather1](https://github.com/feather-wallet/feather) | Wallet | selsta1.featherwallet.net | 18081 | 18083 | -| [Feather2](https://github.com/feather-wallet/feather) | Wallet | selsta2.featherwallet.net | 18081 | 18083 | -| [HashVault](https://hashvault.pro) | Pool | nodes.hashvault.pro | 18081 | 18083 | -| [MajesticBankIs](https://www.majesticbank.sc) | Exchange | node.majesticbank.is | 18089 | 18083 | -| [MajesticBankSu](https://www.majesticbank.sc) | Exchange | node.majesticbank.su | 18089 | 18083 | -| [MoneroWorld](https://moneroworld.com) | Individual | node.moneroworld.com | 18089 | 18083 | -| [Monerujo](https://www.monerujo.io) | Wallet | nodex.monerujo.io | 18081 | 18083 | -| [Plowsof1](https://github.com/plowsof) | Individual | node.monerodevs.org | 18089 | 18084 | -| [Plowsof2](https://github.com/plowsof) | Individual | node2.monerodevs.org | 18089 | 18084 | -| [Rino](https://rino.io) | Wallet | node.community.rino.io | 18081 | 18083 | -| [Seth](https://github.com/sethforprivacy) | Individual | node.sethforprivacy.com | 18089 | 18083 | -| [SupportXmr](https://www.supportxmr.com) | Pool | node.supportxmr.com | 18081 | 18083 | -| [SupportXmrIr](https://www.supportxmr.com) | Pool | node.supportxmr.ir | 18089 | 18083 | -| [XmrVsBeast](https://xmrvsbeast.com) | Pool | p2pmd.xmrvsbeast.com | 18081 | 18083 | +| Name | Owner | Owner Type | IP/Domain | RPC Port | ZMQ Port | +|----------------|---------------------------------------------------|------------|-----------------------------------|----------|----------| +| C3pool | [C3pool](https://www.c3pool.com) | Pool | node.c3pool.com | 18081 | 18083 | +| Cake | [Cake](https://cakewallet.com) | Wallet | xmr-node.cakewallet.com | 18081 | 18083 | +| CakeEu | [Cake](https://cakewallet.com) | Wallet | xmr-node-eu.cakewallet.com | 18081 | 18083 | +| CakeUk | [Cake](https://cakewallet.com) | Wallet | xmr-node-uk.cakewallet.com | 18081 | 18083 | +| CakeUs | [Cake](https://cakewallet.com) | Wallet | xmr-node-usa-east.cakewallet.com | 18081 | 18083 | +| Feather1 | [Feather](https://featherwallet.org) | Wallet | selsta1.featherwallet.net | 18081 | 18083 | +| Feather2 | [Feather](https://featherwallet.org) | Wallet | selsta2.featherwallet.net | 18081 | 18083 | +| HashVault | [HashVault](https://hashvault.pro) | Pool | nodes.hashvault.pro | 18081 | 18083 | +| MajesticBankIs | [MajesticBank](https://www.majesticbank.sc) | Exchange | node.majesticbank.is | 18089 | 18083 | +| MajesticBankSu | [MajesticBank](https://www.majesticbank.sc) | Exchange | node.majesticbank.su | 18089 | 18083 | +| MoneroSeed1 | [Monero](https://github.com/monero-project/monero/blob/release-v0.18/src/p2p/net_node.inl#L708) | Seed Node | 176.9.0.187 | 18089 | 18083 | +| MoneroSeed2 | [Monero](https://github.com/monero-project/monero/blob/release-v0.18/src/p2p/net_node.inl#L715) | Seed Node | 51.79.173.165 | 18089 | 18083 | +| MoneroWorld1 | [Gingeropolous](https://github.com/Gingeropolous) | Individual | node.moneroworld.com | 18089 | 18083 | +| MoneroWorld2 | [Gingeropolous](https://github.com/Gingeropolous) | Individual | uwillrunanodesoon.moneroworld.com | 18089 | 18083 | +| Monerujo | [Monerujo](https://www.monerujo.io) | Wallet | nodex.monerujo.io | 18081 | 18083 | +| Plowsof1 | [Plowsof](https://github.com/plowsof) | Individual | node.monerodevs.org | 18089 | 18084 | +| Plowsof2 | [Plowsof](https://github.com/plowsof) | Individual | node2.monerodevs.org | 18089 | 18084 | +| Rino | [Rino](https://rino.io) | Wallet | node.community.rino.io | 18081 | 18083 | +| Seth | [Seth](https://github.com/sethforprivacy) | Individual | node.sethforprivacy.com | 18089 | 18083 | +| SupportXmr | [SupportXMR](https://www.supportxmr.com) | Pool | node.supportxmr.com | 18081 | 18083 | +| SupportXmrIr | [SupportXMR](https://www.supportxmr.com) | Pool | node.supportxmr.ir | 18089 | 18083 | +| XmrVsBeast | [XMRvsBeast](https://xmrvsbeast.com) | Pool | p2pmd.xmrvsbeast.com | 18081 | 18083 | ## Build ### General Info diff --git a/src/node.rs b/src/node.rs index 88c84fc..2a81c35 100644 --- a/src/node.rs +++ b/src/node.rs @@ -45,7 +45,10 @@ pub const FEATHER_2: &str = "selsta2.featherwallet.net:18081"; pub const HASHVAULT: &str = "nodes.hashvault.pro:18081"; pub const MAJESTICBANK_IS: &str = "node.majesticbank.is:18089"; pub const MAJESTICBANK_SU: &str = "node.majesticbank.su:18089"; -pub const MONEROWORLD: &str = "node.moneroworld.com:18089"; +pub const MONEROSEED_1: &str = "176.9.0.187:18089"; +pub const MONEROSEED_2: &str = "51.79.173.165:18089"; +pub const MONEROWORLD_1: &str = "node.moneroworld.com:18089"; +pub const MONEROWORLD_2: &str = "uwillrunanodesoon.moneroworld.com:18089"; pub const MONERUJO: &str = "nodex.monerujo.io:18081"; pub const PLOWSOF_1: &str = "node.monerodevs.org:18089"; // ZMQ = 18084 pub const PLOWSOF_2: &str = "node2.monerodevs.org:18089"; // ZMQ = 18084 @@ -55,9 +58,9 @@ pub const SUPPORTXMR: &str = "node.supportxmr.com:18081"; pub const SUPPORTXMR_IR: &str = "node.supportxmr.ir:18081"; pub const XMRVSBEAST: &str = "p2pmd.xmrvsbeast.com:18081"; -pub const NODE_IPS: [&str; 19] = [ - C3POOL,CAKE,CAKE_EU,CAKE_UK,CAKE_US,FEATHER_1,FEATHER_2,HASHVAULT,MAJESTICBANK_IS,MAJESTICBANK_SU, - MONEROWORLD,MONERUJO,PLOWSOF_1,PLOWSOF_2,RINO,SETH,SUPPORTXMR,SUPPORTXMR_IR,XMRVSBEAST, +pub const NODE_IPS: [&str; 22] = [ + C3POOL,CAKE,CAKE_EU,CAKE_UK,CAKE_US,FEATHER_1,FEATHER_2,HASHVAULT,MAJESTICBANK_IS,MAJESTICBANK_SU,MONEROSEED_1,MONEROSEED_2, + MONEROWORLD_1,MONEROWORLD_2,MONERUJO,PLOWSOF_1,PLOWSOF_2,RINO,SETH,SUPPORTXMR,SUPPORTXMR_IR,XMRVSBEAST, ]; pub const COMMUNITY_NODE_LENGTH: usize = NODE_IPS.len(); @@ -65,8 +68,8 @@ pub const COMMUNITY_NODE_MAX_CHARS: usize = 14; #[derive(Copy,Clone,Eq,PartialEq,Debug,Deserialize,Serialize)] pub enum NodeEnum { - C3pool,Cake,CakeEu,CakeUk,CakeUs,MajesticBankIs,MajesticBankSu,MoneroWorld,Monerujo,Plowsof1, - Plowsof2,Rino,Feather1,Feather2,HashVault,Seth,SupportXmr,SupportXmrIr,XmrVsBeast, + C3pool,Cake,CakeEu,CakeUk,CakeUs,MajesticBankIs,MajesticBankSu,MoneroSeed1,MoneroSeed2,MoneroWorld1,MoneroWorld2, + Monerujo,Plowsof1,Plowsof2,Rino,Feather1,Feather2,HashVault,Seth,SupportXmr,SupportXmrIr,XmrVsBeast, } impl Default for NodeEnum { @@ -92,15 +95,18 @@ impl NodeEnum { HashVault => 7, MajesticBankIs => 8, MajesticBankSu => 9, - MoneroWorld => 10, - Monerujo => 11, - Plowsof1 => 12, - Plowsof2 => 13, - Rino => 14, - Seth => 15, - SupportXmr => 16, - SupportXmrIr => 17, - _ => 18, + MoneroSeed1 => 10, + MoneroSeed2 => 11, + MoneroWorld1 => 12, + MoneroWorld2 => 13, + Monerujo => 14, + Plowsof1 => 15, + Plowsof2 => 16, + Rino => 17, + Seth => 18, + SupportXmr => 19, + SupportXmrIr => 20, + _ => 21, } } @@ -200,7 +206,10 @@ pub fn ip_to_enum(ip: &'static str) -> NodeEnum { HASHVAULT => HashVault, MAJESTICBANK_IS => MajesticBankIs, MAJESTICBANK_SU => MajesticBankSu, - MONEROWORLD => MoneroWorld, + MONEROSEED_1 => MoneroSeed1, + MONEROSEED_2 => MoneroSeed2, + MONEROWORLD_1 => MoneroWorld1, + MONEROWORLD_2 => MoneroWorld2, MONERUJO => Monerujo, PLOWSOF_1 => Plowsof1, PLOWSOF_2 => Plowsof2, @@ -224,7 +233,10 @@ pub fn enum_to_ip(node: NodeEnum) -> &'static str { HashVault => HASHVAULT, MajesticBankIs => MAJESTICBANK_IS, MajesticBankSu => MAJESTICBANK_SU, - MoneroWorld => MONEROWORLD, + MoneroSeed1 => MONEROSEED_1, + MoneroSeed2 => MONEROSEED_2, + MoneroWorld1 => MONEROWORLD_1, + MoneroWorld2 => MONEROWORLD_2, Monerujo => MONERUJO, Plowsof1 => PLOWSOF_1, Plowsof2 => PLOWSOF_2, @@ -347,9 +359,9 @@ impl Ping { // This used to be done 3x linearly but after testing, sending a single // JSON-RPC call to all IPs asynchronously resulted in the same data. // - // <300ms = GREEN - // <1000ms = YELLOW - // >1000ms = RED + // <200ms = GREEN + // <500ms = YELLOW + // >500ms = RED // timeout = BLACK // default = GRAY #[tokio::main] @@ -421,9 +433,9 @@ impl Ping { }, }; let color; - if ms < 300 { + if ms < 200 { color = GREEN; - } else if ms < 1000 { + } else if ms < 500 { color = YELLOW; } else if ms < 5000 { color = RED;