oxen-observer/templates/quorums.html

5.7 KiB
Raw Permalink Blame History

{% extends "_basic.html" %} {% block content %}

Service Node testing quorums:

{%for q in quorums.obligation[-18:] | reverse%}

{# quorum height + 13 here because a node only does an obligations test once the node has at least 11 blocks on top of it, which means it is 13 blocks below the blockchain height, which means it has to be (at least) the 12th oldest block, +1 because info.height is the top height + 1 #} Block {{q.height + 13}} {%if q.height + 13 > info.height%} (~{{(q.height + 13 - info.height) * 2}} minutes) {%elif q.height + 13 == info.height%} (testing now!) {%else%} (~{{(info.height - (q.height + 13)) * 2}} minutes ago) {%endif%}

{%for v in q.quorum.validators%} {{v}} {%endfor%}
{%for w in q.quorum.workers%} {{w}} {%endfor%}
{%endfor%}
{%if quorums.pulse%}

Recent Pulse quorums:

Current block height: {{info.height}}

{%for q in quorums.pulse[-24:] | reverse%} {%if q.height == info.height%}

Next block

{%else%}

Block {{q.height}}

{%endif%}
{%for w in q.quorum.workers%}{#should only be one#} {{w}} {%endfor%}
{%for v in q.quorum.validators%} {{v}} {%endfor%}
{%endfor%}
{%endif%}

Recent Checkpoint quorums:

Current block height: {{info.height}}

{%for q in quorums.checkpoint[-12:] | reverse%}

Block {{q.height}}

{%for v in q.quorum.validators%} {{v}} {%endfor%}
{%endfor%}

Recent Blink quorums:

Current block height: {{info.height}}

{# Blink quorums are not fully independent: a blink quorum at height H is subquorum 0 for txes submitted at blockchain height [H+35, H+39], and subquorum 1 for txes submitted at height [H+30, H+34]. We want to show the full quorum here for each 5-block range, which means each subquorum gets printed twice: as Q0 in one and Q1 in the next one. #} {%for q in quorums.blink[-9:-1] | reverse%} {%set qnext = quorums.blink[-loop.index]%} {%set current = q.height + 30 <= info.height <= q.height + 34%}

Blocks {{q.height + 30}}{{q.height + 34}}{%if current%} (current){%endif%}

{%for v in qnext.quorum.validators%} {{v}} {%endfor%}
{%for v in q.quorum.validators%} {{v}} {%endfor%}
{%endfor%}
{% endblock %}