166 lines
6.3 KiB
HTML
Raw Permalink Normal View History

<!doctype html>
<html>
<head>
<title>{{self.header.state.config.site_name}}: Block Height {{self.block_info.height}}</title>
feat: Add Announcement viewer Every transaction can have zero or more announcements, which are essentially messages that must be included across all future mergers and updates. Announcements are typically used for transmitting information related to receiving UTXOs, encrypted. However, a new use case is that of *transparent transaction info*, which is an announcement containing the UTXOs and the commitment randomnesses needed to reproduce the transaction's inputs and outputs. With such a transparent transaction info announcement, third parties can transparently audit transactions. This commit adds a page for viewing announcements, and if the announcement can be parsed as a transparent transaction info type announcement then it is rendered as such, complete with native currency amounts and linkable UTXOs (where possible). The path for accessing announcements is any of - `/announcement/digest/<hex-string>/<index>` - `/announcement/tip/<index>` - `/announcement/genesis/<index>` - `/announcement/height/<height>/<index>` - `/announcement/height_or_digest/<height-or-diges>/index/<index>`. The last bullet point exists to support the quick lookup functionality, which is also new. A `AnnouncementSelector` has display and from-string methods relating these path formats to the relevant object. A suite of (prop)tests verifies parsing. Also, this commit enables mocking, which is useful when the neptune-core node the explorer is connected to is outdated, unsynced, or for whatever reason does not serve the desired data. The RPC client call is intercepted, and if it fails and mocking is enabled, an imagined (pseudorandom) resource of the requested type is returned. To enable mocking, compile with the "mock" feature flag and set the "MOCK" environment variable.
2025-08-12 18:21:27 +02:00
{{html_escaper::Trusted(include_str!(concat!(env!("CARGO_MANIFEST_DIR"),"/templates/web/html/components/head.html")))}}
</head>
<body>
feat: Add Announcement viewer Every transaction can have zero or more announcements, which are essentially messages that must be included across all future mergers and updates. Announcements are typically used for transmitting information related to receiving UTXOs, encrypted. However, a new use case is that of *transparent transaction info*, which is an announcement containing the UTXOs and the commitment randomnesses needed to reproduce the transaction's inputs and outputs. With such a transparent transaction info announcement, third parties can transparently audit transactions. This commit adds a page for viewing announcements, and if the announcement can be parsed as a transparent transaction info type announcement then it is rendered as such, complete with native currency amounts and linkable UTXOs (where possible). The path for accessing announcements is any of - `/announcement/digest/<hex-string>/<index>` - `/announcement/tip/<index>` - `/announcement/genesis/<index>` - `/announcement/height/<height>/<index>` - `/announcement/height_or_digest/<height-or-diges>/index/<index>`. The last bullet point exists to support the quick lookup functionality, which is also new. A `AnnouncementSelector` has display and from-string methods relating these path formats to the relevant object. A suite of (prop)tests verifies parsing. Also, this commit enables mocking, which is useful when the neptune-core node the explorer is connected to is outdated, unsynced, or for whatever reason does not serve the desired data. The RPC client call is intercepted, and if it fails and mocking is enabled, an imagined (pseudorandom) resource of the requested type is returned. To enable mocking, compile with the "mock" feature flag and set the "MOCK" environment variable.
2025-08-12 18:21:27 +02:00
{{Trusted(self.header.to_string())}}
feat: Add Announcement viewer Every transaction can have zero or more announcements, which are essentially messages that must be included across all future mergers and updates. Announcements are typically used for transmitting information related to receiving UTXOs, encrypted. However, a new use case is that of *transparent transaction info*, which is an announcement containing the UTXOs and the commitment randomnesses needed to reproduce the transaction's inputs and outputs. With such a transparent transaction info announcement, third parties can transparently audit transactions. This commit adds a page for viewing announcements, and if the announcement can be parsed as a transparent transaction info type announcement then it is rendered as such, complete with native currency amounts and linkable UTXOs (where possible). The path for accessing announcements is any of - `/announcement/digest/<hex-string>/<index>` - `/announcement/tip/<index>` - `/announcement/genesis/<index>` - `/announcement/height/<height>/<index>` - `/announcement/height_or_digest/<height-or-diges>/index/<index>`. The last bullet point exists to support the quick lookup functionality, which is also new. A `AnnouncementSelector` has display and from-string methods relating these path formats to the relevant object. A suite of (prop)tests verifies parsing. Also, this commit enables mocking, which is useful when the neptune-core node the explorer is connected to is outdated, unsynced, or for whatever reason does not serve the desired data. The RPC client call is intercepted, and if it fails and mocking is enabled, an imagined (pseudorandom) resource of the requested type is returned. To enable mocking, compile with the "mock" feature flag and set the "MOCK" environment variable.
2025-08-12 18:21:27 +02:00
<main class="container">
feat: Add Announcement viewer Every transaction can have zero or more announcements, which are essentially messages that must be included across all future mergers and updates. Announcements are typically used for transmitting information related to receiving UTXOs, encrypted. However, a new use case is that of *transparent transaction info*, which is an announcement containing the UTXOs and the commitment randomnesses needed to reproduce the transaction's inputs and outputs. With such a transparent transaction info announcement, third parties can transparently audit transactions. This commit adds a page for viewing announcements, and if the announcement can be parsed as a transparent transaction info type announcement then it is rendered as such, complete with native currency amounts and linkable UTXOs (where possible). The path for accessing announcements is any of - `/announcement/digest/<hex-string>/<index>` - `/announcement/tip/<index>` - `/announcement/genesis/<index>` - `/announcement/height/<height>/<index>` - `/announcement/height_or_digest/<height-or-diges>/index/<index>`. The last bullet point exists to support the quick lookup functionality, which is also new. A `AnnouncementSelector` has display and from-string methods relating these path formats to the relevant object. A suite of (prop)tests verifies parsing. Also, this commit enables mocking, which is useful when the neptune-core node the explorer is connected to is outdated, unsynced, or for whatever reason does not serve the desired data. The RPC client call is intercepted, and if it fails and mocking is enabled, an imagined (pseudorandom) resource of the requested type is returned. To enable mocking, compile with the "mock" feature flag and set the "MOCK" environment variable.
2025-08-12 18:21:27 +02:00
<article>
<h2>Block height: {{self.block_info.height}}</h2>
feat: Add Announcement viewer Every transaction can have zero or more announcements, which are essentially messages that must be included across all future mergers and updates. Announcements are typically used for transmitting information related to receiving UTXOs, encrypted. However, a new use case is that of *transparent transaction info*, which is an announcement containing the UTXOs and the commitment randomnesses needed to reproduce the transaction's inputs and outputs. With such a transparent transaction info announcement, third parties can transparently audit transactions. This commit adds a page for viewing announcements, and if the announcement can be parsed as a transparent transaction info type announcement then it is rendered as such, complete with native currency amounts and linkable UTXOs (where possible). The path for accessing announcements is any of - `/announcement/digest/<hex-string>/<index>` - `/announcement/tip/<index>` - `/announcement/genesis/<index>` - `/announcement/height/<height>/<index>` - `/announcement/height_or_digest/<height-or-diges>/index/<index>`. The last bullet point exists to support the quick lookup functionality, which is also new. A `AnnouncementSelector` has display and from-string methods relating these path formats to the relevant object. A suite of (prop)tests verifies parsing. Also, this commit enables mocking, which is useful when the neptune-core node the explorer is connected to is outdated, unsynced, or for whatever reason does not serve the desired data. The RPC client call is intercepted, and if it fails and mocking is enabled, an imagined (pseudorandom) resource of the requested type is returned. To enable mocking, compile with the "mock" feature flag and set the "MOCK" environment variable.
2025-08-12 18:21:27 +02:00
<!-- special_block_notice -->
%% if self.block_info.is_genesis {
<p>This is the genesis block</p>
%% }
%% if self.block_info.is_tip {
<p>This is the latest block (tip)</p>
%% }
feat: Add Announcement viewer Every transaction can have zero or more announcements, which are essentially messages that must be included across all future mergers and updates. Announcements are typically used for transmitting information related to receiving UTXOs, encrypted. However, a new use case is that of *transparent transaction info*, which is an announcement containing the UTXOs and the commitment randomnesses needed to reproduce the transaction's inputs and outputs. With such a transparent transaction info announcement, third parties can transparently audit transactions. This commit adds a page for viewing announcements, and if the announcement can be parsed as a transparent transaction info type announcement then it is rendered as such, complete with native currency amounts and linkable UTXOs (where possible). The path for accessing announcements is any of - `/announcement/digest/<hex-string>/<index>` - `/announcement/tip/<index>` - `/announcement/genesis/<index>` - `/announcement/height/<height>/<index>` - `/announcement/height_or_digest/<height-or-diges>/index/<index>`. The last bullet point exists to support the quick lookup functionality, which is also new. A `AnnouncementSelector` has display and from-string methods relating these path formats to the relevant object. A suite of (prop)tests verifies parsing. Also, this commit enables mocking, which is useful when the neptune-core node the explorer is connected to is outdated, unsynced, or for whatever reason does not serve the desired data. The RPC client call is intercepted, and if it fails and mocking is enabled, an imagined (pseudorandom) resource of the requested type is returned. To enable mocking, compile with the "mock" feature flag and set the "MOCK" environment variable.
2025-08-12 18:21:27 +02:00
<table class="striped">
<tr>
<td>Digest</td>
<td class="mono">{{self.block_info.digest.to_hex()}}</td>
</tr>
<tr>
<td>Created</td>
<td>{{self.block_info.timestamp.standard_format()}}</td>
</tr>
<tr>
<td>Size
<span class="tooltip">
<span class="tooltiptext">Unit: number of BFieldElements. One BFieldElement consists of 8
bytes.</span>
</span>
</td>
<td>{{self.block_info.size}}</td>
</tr>
<tr>
<td>Inputs</td>
<td>{{self.block_info.num_inputs}}<br /></td>
</tr>
<tr>
<td>Outputs</td>
<td>{{self.block_info.num_outputs}}</td>
</tr>
<tr>
<td>Announcements
<span class="tooltip">
<span class="tooltiptext">
Data broadcast as part of the transaction.
</span>
</span>
</td>
<td>
{% if self.block_info.num_announcements > 0 { %}
<a
href='/announcement/digest/{{self.block_info.digest.to_hex()}}/0'>{{self.block_info.num_announcements}}</a>
{% } else { %}
0
{% } %}
</td>
</tr>
<tr>
<td>Difficulty</td>
<td>{{self.block_info.difficulty}}</td>
</tr>
<tr>
<td>Cumulative Proof-Of-Work
<span class="tooltip">
<span class="tooltiptext">estimated total # of hashes performed by miners from genesis block
to this block.</span>
</span>
</td>
<td>{{self.block_info.cumulative_proof_of_work}}</td>
</tr>
<tr>
<td>Coinbase
<span class="tooltip">
<span class="tooltiptext">Total block reward amount paid to the miner(s) that found this
block.</span>
</span>
</td>
<td>{{self.block_info.coinbase_amount}}</td>
</tr>
%% if self.block_info.coinbase_amount != self.block_info.expected_coinbase_amount() {
<tr>
<td>Expected Coinbase
<span class="tooltip">
<span class="tooltiptext">Expected (maximum) block reward amount paid to the miner(s) that
find a block at this block-height.</span>
</span>
</td>
<td>{{self.block_info.expected_coinbase_amount()}}</td>
</tr>
%% }
feat: Add Announcement viewer Every transaction can have zero or more announcements, which are essentially messages that must be included across all future mergers and updates. Announcements are typically used for transmitting information related to receiving UTXOs, encrypted. However, a new use case is that of *transparent transaction info*, which is an announcement containing the UTXOs and the commitment randomnesses needed to reproduce the transaction's inputs and outputs. With such a transparent transaction info announcement, third parties can transparently audit transactions. This commit adds a page for viewing announcements, and if the announcement can be parsed as a transparent transaction info type announcement then it is rendered as such, complete with native currency amounts and linkable UTXOs (where possible). The path for accessing announcements is any of - `/announcement/digest/<hex-string>/<index>` - `/announcement/tip/<index>` - `/announcement/genesis/<index>` - `/announcement/height/<height>/<index>` - `/announcement/height_or_digest/<height-or-diges>/index/<index>`. The last bullet point exists to support the quick lookup functionality, which is also new. A `AnnouncementSelector` has display and from-string methods relating these path formats to the relevant object. A suite of (prop)tests verifies parsing. Also, this commit enables mocking, which is useful when the neptune-core node the explorer is connected to is outdated, unsynced, or for whatever reason does not serve the desired data. The RPC client call is intercepted, and if it fails and mocking is enabled, an imagined (pseudorandom) resource of the requested type is returned. To enable mocking, compile with the "mock" feature flag and set the "MOCK" environment variable.
2025-08-12 18:21:27 +02:00
<tr>
<td>Fee</td>
<td>{{self.block_info.fee}}</td>
</tr>
<tr>
<td>Canonical
<span class="tooltip">
<span class="tooltiptext">
The canonical blockchain is the chain with the most accumulated proof-of-work and is
considered the
official record of transaction history.
</span>
</span>
</td>
<td>
%% if self.block_info.is_canonical {
Yes. This block is in the canonical blockchain.
%% } else {
No. This block is not in the canonical blockchain.
%% }
</td>
</tr>
<tr>
<td>Sibling Blocks
<span class="tooltip">
<span class="tooltiptext">
Blocks that exist at the same height as this block. Only one sibling can be in the
canonical blockchain.
</span>
</span>
</td>
<td class="mono">
%% for sibling_digest in self.block_info.sibling_blocks.iter().map(|d| d.to_hex()) {
<a href='/block/digest/{{sibling_digest}}'>{{sibling_digest}}</a><br />
%% }
</td>
</tr>
feat: Add Announcement viewer Every transaction can have zero or more announcements, which are essentially messages that must be included across all future mergers and updates. Announcements are typically used for transmitting information related to receiving UTXOs, encrypted. However, a new use case is that of *transparent transaction info*, which is an announcement containing the UTXOs and the commitment randomnesses needed to reproduce the transaction's inputs and outputs. With such a transparent transaction info announcement, third parties can transparently audit transactions. This commit adds a page for viewing announcements, and if the announcement can be parsed as a transparent transaction info type announcement then it is rendered as such, complete with native currency amounts and linkable UTXOs (where possible). The path for accessing announcements is any of - `/announcement/digest/<hex-string>/<index>` - `/announcement/tip/<index>` - `/announcement/genesis/<index>` - `/announcement/height/<height>/<index>` - `/announcement/height_or_digest/<height-or-diges>/index/<index>`. The last bullet point exists to support the quick lookup functionality, which is also new. A `AnnouncementSelector` has display and from-string methods relating these path formats to the relevant object. A suite of (prop)tests verifies parsing. Also, this commit enables mocking, which is useful when the neptune-core node the explorer is connected to is outdated, unsynced, or for whatever reason does not serve the desired data. The RPC client call is intercepted, and if it fails and mocking is enabled, an imagined (pseudorandom) resource of the requested type is returned. To enable mocking, compile with the "mock" feature flag and set the "MOCK" environment variable.
2025-08-12 18:21:27 +02:00
</table>
feat: Add Announcement viewer Every transaction can have zero or more announcements, which are essentially messages that must be included across all future mergers and updates. Announcements are typically used for transmitting information related to receiving UTXOs, encrypted. However, a new use case is that of *transparent transaction info*, which is an announcement containing the UTXOs and the commitment randomnesses needed to reproduce the transaction's inputs and outputs. With such a transparent transaction info announcement, third parties can transparently audit transactions. This commit adds a page for viewing announcements, and if the announcement can be parsed as a transparent transaction info type announcement then it is rendered as such, complete with native currency amounts and linkable UTXOs (where possible). The path for accessing announcements is any of - `/announcement/digest/<hex-string>/<index>` - `/announcement/tip/<index>` - `/announcement/genesis/<index>` - `/announcement/height/<height>/<index>` - `/announcement/height_or_digest/<height-or-diges>/index/<index>`. The last bullet point exists to support the quick lookup functionality, which is also new. A `AnnouncementSelector` has display and from-string methods relating these path formats to the relevant object. A suite of (prop)tests verifies parsing. Also, this commit enables mocking, which is useful when the neptune-core node the explorer is connected to is outdated, unsynced, or for whatever reason does not serve the desired data. The RPC client call is intercepted, and if it fails and mocking is enabled, an imagined (pseudorandom) resource of the requested type is returned. To enable mocking, compile with the "mock" feature flag and set the "MOCK" environment variable.
2025-08-12 18:21:27 +02:00
</article>
feat: Add Announcement viewer Every transaction can have zero or more announcements, which are essentially messages that must be included across all future mergers and updates. Announcements are typically used for transmitting information related to receiving UTXOs, encrypted. However, a new use case is that of *transparent transaction info*, which is an announcement containing the UTXOs and the commitment randomnesses needed to reproduce the transaction's inputs and outputs. With such a transparent transaction info announcement, third parties can transparently audit transactions. This commit adds a page for viewing announcements, and if the announcement can be parsed as a transparent transaction info type announcement then it is rendered as such, complete with native currency amounts and linkable UTXOs (where possible). The path for accessing announcements is any of - `/announcement/digest/<hex-string>/<index>` - `/announcement/tip/<index>` - `/announcement/genesis/<index>` - `/announcement/height/<height>/<index>` - `/announcement/height_or_digest/<height-or-diges>/index/<index>`. The last bullet point exists to support the quick lookup functionality, which is also new. A `AnnouncementSelector` has display and from-string methods relating these path formats to the relevant object. A suite of (prop)tests verifies parsing. Also, this commit enables mocking, which is useful when the neptune-core node the explorer is connected to is outdated, unsynced, or for whatever reason does not serve the desired data. The RPC client call is intercepted, and if it fails and mocking is enabled, an imagined (pseudorandom) resource of the requested type is returned. To enable mocking, compile with the "mock" feature flag and set the "MOCK" environment variable.
2025-08-12 18:21:27 +02:00
<article>
feat: Add Announcement viewer Every transaction can have zero or more announcements, which are essentially messages that must be included across all future mergers and updates. Announcements are typically used for transmitting information related to receiving UTXOs, encrypted. However, a new use case is that of *transparent transaction info*, which is an announcement containing the UTXOs and the commitment randomnesses needed to reproduce the transaction's inputs and outputs. With such a transparent transaction info announcement, third parties can transparently audit transactions. This commit adds a page for viewing announcements, and if the announcement can be parsed as a transparent transaction info type announcement then it is rendered as such, complete with native currency amounts and linkable UTXOs (where possible). The path for accessing announcements is any of - `/announcement/digest/<hex-string>/<index>` - `/announcement/tip/<index>` - `/announcement/genesis/<index>` - `/announcement/height/<height>/<index>` - `/announcement/height_or_digest/<height-or-diges>/index/<index>`. The last bullet point exists to support the quick lookup functionality, which is also new. A `AnnouncementSelector` has display and from-string methods relating these path formats to the relevant object. A suite of (prop)tests verifies parsing. Also, this commit enables mocking, which is useful when the neptune-core node the explorer is connected to is outdated, unsynced, or for whatever reason does not serve the desired data. The RPC client call is intercepted, and if it fails and mocking is enabled, an imagined (pseudorandom) resource of the requested type is returned. To enable mocking, compile with the "mock" feature flag and set the "MOCK" environment variable.
2025-08-12 18:21:27 +02:00
<p>
<a href="/">Home</a>
| <a href='/block/genesis'>Genesis</a>
| <a href='/block/tip'>Tip</a>
%% if self.block_info.is_genesis {
| Previous Block
%% } else {
| <a href='/block/height/{{self.block_info.height.previous().unwrap()}}'>Previous Block</a>
%% }
feat: Add Announcement viewer Every transaction can have zero or more announcements, which are essentially messages that must be included across all future mergers and updates. Announcements are typically used for transmitting information related to receiving UTXOs, encrypted. However, a new use case is that of *transparent transaction info*, which is an announcement containing the UTXOs and the commitment randomnesses needed to reproduce the transaction's inputs and outputs. With such a transparent transaction info announcement, third parties can transparently audit transactions. This commit adds a page for viewing announcements, and if the announcement can be parsed as a transparent transaction info type announcement then it is rendered as such, complete with native currency amounts and linkable UTXOs (where possible). The path for accessing announcements is any of - `/announcement/digest/<hex-string>/<index>` - `/announcement/tip/<index>` - `/announcement/genesis/<index>` - `/announcement/height/<height>/<index>` - `/announcement/height_or_digest/<height-or-diges>/index/<index>`. The last bullet point exists to support the quick lookup functionality, which is also new. A `AnnouncementSelector` has display and from-string methods relating these path formats to the relevant object. A suite of (prop)tests verifies parsing. Also, this commit enables mocking, which is useful when the neptune-core node the explorer is connected to is outdated, unsynced, or for whatever reason does not serve the desired data. The RPC client call is intercepted, and if it fails and mocking is enabled, an imagined (pseudorandom) resource of the requested type is returned. To enable mocking, compile with the "mock" feature flag and set the "MOCK" environment variable.
2025-08-12 18:21:27 +02:00
%% if self.block_info.is_tip {
| Next Block
%% } else {
| <a href='/block/height/{{self.block_info.height.next()}}'>Next Block</a>
%% }
</p>
feat: Add Announcement viewer Every transaction can have zero or more announcements, which are essentially messages that must be included across all future mergers and updates. Announcements are typically used for transmitting information related to receiving UTXOs, encrypted. However, a new use case is that of *transparent transaction info*, which is an announcement containing the UTXOs and the commitment randomnesses needed to reproduce the transaction's inputs and outputs. With such a transparent transaction info announcement, third parties can transparently audit transactions. This commit adds a page for viewing announcements, and if the announcement can be parsed as a transparent transaction info type announcement then it is rendered as such, complete with native currency amounts and linkable UTXOs (where possible). The path for accessing announcements is any of - `/announcement/digest/<hex-string>/<index>` - `/announcement/tip/<index>` - `/announcement/genesis/<index>` - `/announcement/height/<height>/<index>` - `/announcement/height_or_digest/<height-or-diges>/index/<index>`. The last bullet point exists to support the quick lookup functionality, which is also new. A `AnnouncementSelector` has display and from-string methods relating these path formats to the relevant object. A suite of (prop)tests verifies parsing. Also, this commit enables mocking, which is useful when the neptune-core node the explorer is connected to is outdated, unsynced, or for whatever reason does not serve the desired data. The RPC client call is intercepted, and if it fails and mocking is enabled, an imagined (pseudorandom) resource of the requested type is returned. To enable mocking, compile with the "mock" feature flag and set the "MOCK" environment variable.
2025-08-12 18:21:27 +02:00
</article>
</main>
</body>
feat: Add Announcement viewer Every transaction can have zero or more announcements, which are essentially messages that must be included across all future mergers and updates. Announcements are typically used for transmitting information related to receiving UTXOs, encrypted. However, a new use case is that of *transparent transaction info*, which is an announcement containing the UTXOs and the commitment randomnesses needed to reproduce the transaction's inputs and outputs. With such a transparent transaction info announcement, third parties can transparently audit transactions. This commit adds a page for viewing announcements, and if the announcement can be parsed as a transparent transaction info type announcement then it is rendered as such, complete with native currency amounts and linkable UTXOs (where possible). The path for accessing announcements is any of - `/announcement/digest/<hex-string>/<index>` - `/announcement/tip/<index>` - `/announcement/genesis/<index>` - `/announcement/height/<height>/<index>` - `/announcement/height_or_digest/<height-or-diges>/index/<index>`. The last bullet point exists to support the quick lookup functionality, which is also new. A `AnnouncementSelector` has display and from-string methods relating these path formats to the relevant object. A suite of (prop)tests verifies parsing. Also, this commit enables mocking, which is useful when the neptune-core node the explorer is connected to is outdated, unsynced, or for whatever reason does not serve the desired data. The RPC client call is intercepted, and if it fails and mocking is enabled, an imagined (pseudorandom) resource of the requested type is returned. To enable mocking, compile with the "mock" feature flag and set the "MOCK" environment variable.
2025-08-12 18:21:27 +02:00
</html>