When developing Hive applications, I often use dhive as a client to consume Hive data.
Sometimes, for whatever reason during development, a few nodes may not be reachable, which can slow down the development or even the finished app.
To prevent that, I use the beacon tool, created by Peakd, to see which nodes are passing the tests and have a better uptime:
https://beacon.peakd.com/
I tend to select a list of only nodes that have 20/20 on the test scores, which means they are serving most data, just so I don't have to check if they serve the data that I need.
Not that the other nodes may be bad, although it is a possible indicator, but they may not have all the Hive plugins enabled so they may not be serving all types of Hive data. Maybe for some use cases those nodes may be enough, and for being "low ranked" maybe even have less demand (if that makes sense?), although I find that unlikely, I believe the best node operators, with the best hardware, would chose to serve the most data as best as possible.
So, if I were to use the nodes that are giving a 20/20 score, I would set up the client as:
var dhive = require("@hiveio/dhive");
var client = new dhive.Client([
"https://hive-api.arcange.eu",
"https://hived.emre.sh",
"https://api.hive.blog",
"https://api.openhive.network",
"https://api.deathwing.me",
"https://api.hive.blue",
"https://rpc.ausbit.dev",
"https://anyx.io",
"https://hive-api.3speak.tv",
"https://rpc.mahdiyari.info",
]);
I think that having all that list of nodes is overkill, so I'd probably just keep 4 of those nodes, maybe the first 4, it is very unlikely that they will all fail at the same time anyways.
Help them
Remember, those nodes are volunteers, so responsible use is needed to keep a healthy development environment. Also it is worth checking who are the people behind those to support them, either by approving their witnesses or voting on their DHF proposal.