You are viewing a single comment's thread from:

RE: Witness Update from @c0ff33a and @derangedvisions - Full RPC Node now online ☕️👨🏽‍💻

in TeamUK4 years ago

Hey @c0ff33a - it looks like there are some issues with your RPC node - possibly your Jussi configuration...

image.png

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
Sort:  

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.

./health.py scan https://api.c0ff33a.uk/

Screenshot 20200723 at 14.32.21.png

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