6.2 KiB
Service Node Details
Service Node Public Key: {{sn.service_node_pubkey}}
{%if sn.pubkey_ed25519 %} {%if sn.pubkey_ed25519 != sn.service_node_pubkey%}Service Node Auxiliary Pubkey: {{sn.pubkey_ed25519}}
{%endif%}Lokinet Address: {{sn.pubkey_ed25519 | base32z}}.snode
{%endif%}Operator Address: {{sn.operator_address}}
Metadata
Registration height: {{sn.registration_height}} {%if sn.registration_hf_version < hf.version%} (hardfork v{{sn.registration_hf_version}}) {%endif%} {%if sn.funded%} {%if sn.active%} Active since block: {%else%}{# decommissioned #} Decommissioned since block: {%endif%} {%else%} Last contribution block: {%endif%} {{sn.state_height}} Staking requirement: {{sn.staking_requirement | loki}} {%if not solo_node%} Operator fee: {{(sn.portions_for_operator / portions_base * 100) | round(3) | chop0}}% {%endif%} Total contributed: {%if sn.total_contributed >= sn.staking_requirement%}100% {%else%} {{sn.total_contributed | loki}} ({{(sn.total_contributed / sn.staking_requirement) * 100 | round(2) | chop0}}%) {%endif%} {%if sn.total_reserved != sn.total_contributed%} Total reserved: {{sn.total_reserved | loki}} {%endif%} {%if decommed %}Remaining{%else%}Allowed{%endif%} downtime: {%if sn.earned_downtime_blocks > 0%} {{ (sn.earned_downtime_blocks * 120) | reltime(in_ago=false) }} ({{sn.earned_downtime_blocks}} blocks) {%if not decommed and sn.earned_downtime_blocks < 60%} (Note: ≥ 60 blocks required) {%endif%} {%else%} None {%endif%} Last uptime proof: {%if sn.last_uptime_proof == 0%} Not received {%else%} {{sn.last_uptime_proof | from_timestamp | ago}} ago {%endif%}
Service Node Status
{%if sn.active %}Registered, staked, and active on the network since block {{sn.state_height}}.
{%elif sn.funded%}Decommissioned: this service node is registered and staked, but is currently decommissioned (since block {{sn.state_height}}) for failing to meet service node requirements. {%if sn.earned_downtime_blocks > 0%} If it does not return to active duty within {{sn.earned_downtime_blocks}} blocks (about {{(sn.earned_downtime_blocks * 120) | reltime(in_ago=false)}}) it will face deregistration. {%else%} The decommission time has expired; service node deregistration is imminent. {%endif%}
{%else%}Awaiting registration. This service node has {{(sn.staking_requirement - total_contributed) | loki}} remaining to be contributed. {%if sn.num_open_spots > 0%} The minimum required stake contribution is {{((sn.staking_requirement - sn.total_reserved) / sn.num_open_spots) | loki}}. {%endif%}
{%endif%}{%if sn.requested_unlock_height > 0%} This service node is scheduled to expire at block {{sn.requested_unlock_height}}, in approximately {{(sn.requested_unlock_height - info.height + 1) * 120 | reltime(in_ago=false) }} ({{(server.datetime + ((sn.requested_unlock_height - info.height + 1) * 120)|from_timestamp) | format_datetime('short')}} UTC, est.) {%else%} This service node is staking infinitely: no unlock has been initiated by any of its contributors. {%endif%}
{{sn.contributors|length}} Contributor{%if sn.contributors|length > 1%}s{%endif%}
{%for c in sn.contributors%} {%endfor%}Contributor | Amount | Reserved |
{{c.address}} | {{c.amount | loki}} {%-if c.locked_contributions and c.locked_contributions|length > 1%} ({{c.locked_contributions|length}} contributions) {%endif-%} | {{c.reserved | loki}} |
{{pending_stakes|length}} pending mempool contribution(s)
{%for s in pending_stakes%} {%endfor%}Contributor | TX | Amount |
{{s.address}} | {{s.txid}} | {{s.amount}} |