OXYGENHUB
# 851a26a2a6d1 oxygenhub / templates / log.html
1.6 KiB · HTML · last changed The hub's transparency log (step 1 of docs/transparency.md) 18 days ago source blame history raw
1
{% extends "base.html" %}
2
{% block title %}Transparency log{% endblock %}
3
{% block content %}
4
<div class="head"><h1>Transparency log <small>{{ size }} entries, append-only</small></h1></div>
5
<section class="panel">
6
  <p>Every signed object this hub accepts (pushed references and tags, seals, policies, receipts, approvals, certificates and the hub's acceptances) is an entry in one Merkle tree, in the order it was accepted. Anyone can fetch the tree and check that the hub shows everyone the same history (Oxygen spec §14.8).</p>
7
  <ul class="small">
8
    <li>Checkpoint: <a href="/log/checkpoint"><code>{{ base }}/log/checkpoint</code></a> (a C2SP signed note, origin <code>{{ origin }}</code>, signed with <a href="/.well-known/oxyhub-key">the hub's key</a>)</li>
9
    <li>Tiles and entries: <code>{{ base }}/log/tile/…</code> (C2SP tlog-tiles, height 8)</li>
10
  </ul>
11
  {% if let Some(n) = note %}<pre class="small">{{ n }}</pre>{% else %}<p class="empty">No checkpoint yet: the hub signs one within seconds.</p>{% endif %}
12
</section>
13
{% if rows.is_empty() %}<p class="empty">Nothing has been logged yet.</p>{% else %}
14
<div class="table"><table>
15
<tr><th>#</th><th>When</th><th>Kind</th><th>Repository</th><th>Object</th></tr>
16
{% for r in rows %}
17
<tr><td class="px">{{ r.idx }}</td><td><time title="{{ r.received_ms|when_i }}">{{ r.received_ms|ago_i }}</time></td><td>{{ r.kind }}</td><td>{% if let Some(s) = r.repo %}<a href="/{{ s }}">{{ s }}</a>{% else %}<span class="mute">—</span>{% endif %}</td><td class="small"><code title="{{ r.object }}">{{ r.object|short }}</code></td></tr>
18
{% endfor %}
19
</table></div>
20
{% endif %}
21
{% endblock %}