Hey @c0ff33a - it looks like there are some issues with your RPC node - possibly your Jussi configuration...
Using ./health.py test_methods https://api.c0ff33a.uk/
- I found that condenser_api.get_blog
and bridge.get_trending_topics
are both broken.
Most likely this is because they're not pointed at Hivemind.
Take a look at our Jussi config and compare it against your own to see if you've forgotten to point certain methods at Hivemind or low memory node (nginx-hive-hivemind
is our hivemind, nginx-hive-acchist
is the low memory node, and nginx-hive-core
is the "fat" full memory node)
Privex's Jussi config:
BTW I'm glad to see someone else using my RPC scanner. The reason that you never saw anything wrong, is because plugin tests are disabled by default for the node list scanner which displays nodes in a colour coded list.
To scan all nodes in your nodes.conf
file with plugin testing enabled:
./app.py --plugins
To scan a singular node with thorough testing, use ./health.py scan
# Thorough node scan, which does reliability tests, tests if the node is out of sync, detects what network it's running on etc.
./health.py scan https://api.c0ff33a.uk/
The above command for your node outputs this:
Node: https://api.c0ff33a.uk/
Status: GOOD
Network: Hive
Version: 0.23.0
Block: 45361245
Time: 2020-07-21T23:52:30 (0:00:00 ago)
Plugins: 6 / 8
PluginList: ['condenser_api.get_account_history', 'account_history_api.get_account_history', 'condenser_api.get_followers', 'condenser_api.get_content', 'condenser_api.get_accounts', 'condenser_api.get_witness_by_account']
BrokenAPIs: ['bridge.get_trending_topics', 'condenser_api.get_blog']
PassedStages: 3 / 3
Retries: 0
Score: 42 (out of 50)
For nodes which are non-standard, e.g. they return a non-standard response to a GET / HTTP/1.1
request - or are unstable to the point where they fail a normal scan before plugin tests are ran - you can use ./health.py test_methods
which is a more targetted type of scan.
The test_methods
sub-command is what I used in the screenshot.
Here is a usage example and output example:
# The `test_methods` sub-command ONLY tests API calls, it does not check if the node is in sync, whether or not it's running Jussi, nor detect it's network.
./health.py test_methods https://api.c0ff33a.uk/
account_history_api.get_account_history WORKING
condenser_api.get_account_history WORKING
condenser_api.get_accounts WORKING
condenser_api.get_blog BROKEN
condenser_api.get_content WORKING
condenser_api.get_followers WORKING
condenser_api.get_witness_by_account WORKING
bridge.get_trending_topics BROKEN
# WORKING | BROKEN | TOTAL: 6 | 2 | 8
# Overall status: GOOD
# Min working methods for GOOD status: 6
------------------------------------------------------------------------------------
Docker Note
If you're using the dockerized version of my RPC scanner, then the usage is a little different.
# I'm lazy, so in this example I'll alias the docker run command to 'scanner'
alias scanner="docker run --rm -it someguy123/rpc-scanner"
# These are equivalent to ./health.py test_methods https://api.c0ff33a.uk/
scanner apis https://api.c0ff33a.uk/
scanner test_methods https://api.c0ff33a.uk/
scanner health test_methods https://api.c0ff33a.uk/
# These are equivalent to ./app.py
scanner scan
scanner list
scanner all
# These are equivalent to ./app.py --plugins
scanner scan --plugins
scanner list --plugins
scanner all --plugins
# This is equivalent to ./health.py scan https://api.c0ff33a.uk/
scanner health scan https://api.c0ff33a.uk/
# This is equivalent to ./health.py list
scanner health list
Perfect, thank you for that - great tool by the way. I'll check and resolve in my Jussi config - it was a complete pain even to get running so most likely I just made a simple error in the config.
You were spot on with the diagnosis, Jussi was pointing to fatnode instead of hivemind for the broken api's - amended and rebuilt Jussi and it is all good now - thank you again