{% extends 'base.html' %} {% block content %}

Add A Node

{{ form.csrf_token }}
    {% for field, errors in form.errors.items() %}
  • {{ form[field].label }}: {{ ', '.join(errors) }}
  • {% endfor %}

Find a Node

{% if (nodes | length) == 0 %}

No nodes in the database yet...

{% else %}

Nodes

{% if web_compatible %}

Web compatible means the node is run in such a way that it allows web clients to access their APIs (CORS headers allow all and secure HTTP / TLS terminated). The more nodes there are running with these settings the more robust web clients will be in the future.
{% endif %} Tracking {{ nodes_all }} {{ nettype }} {{ crypto | capitalize }} nodes in the database.
Of those, {{ nodes_unhealthy }} nodes failed their last check-in (unresponsive to ping or over 500 blocks away from highest reported block).

Showing {{ nodes | length }} nodes. {% if 'all' not in request.args %} Show All {% else %} Show Active {% endif %}

{% for country in countries %} {% if 'country' in request.args %} {% else %} {% endif %} {{ country }} ({{ countries[country] }}) {% endfor %}
{% for node in nodes %}
{% if node.is_tor %} {% elif node.is_i2p %} {% else %} {% endif %}

{{ node.url }}

{% if node.asn %}

ASN: {{ node.asn }} - {{ node.asn_description}}

{% endif %}
{% for check in node.healthchecks %} {% endfor %}

last checked {{ node.datetime_checked | humanize }}
{{ node.uptime }}% uptime

{% endfor %}
{% endif %}
{% endblock %}