{% extends "base.html" %} {% import "macro/transaction.html" as transaction %} {% import "macro/template_and_block.html" as block %} {% import "macro/opengraph.html" as opengraph %} {% block opengraph %} {{ opengraph::og( title="Template and Block " ~ block_with_tx.block.hash, description="Template and Block for " ~ block_with_tx.block.hash ~ " mined by " ~ block_with_tx.block.pool_name, url="/template-and-block/" ~ block_with_tx.block.hash, image_url="/og_image/template-and-block/" ~ block_with_tx.block.hash ~ ".png" ) }} {% endblock opengraph %} {% block content %}
{% for tag_id in block_with_tx.block.tags %} {{ block::tag(tag=block_tag_id_to_tag(id=tag_id)) }} {% endfor %}

Template & Block {{block_with_tx.block.hash}}

{{ block::info(block=block_with_tx.block, show_previous=true) }} {{ block::diff(block=block_with_tx.block) }}
{{ block::missing_shared_extra(missing=block_with_tx.block.missing_tx, shared=block_with_tx.block.shared_tx, extra=block_with_tx.block.extra_tx )}}
{{ block::explorers(hash=block_with_tx.block.hash) }}
{% if sanctioned_missing_tx | length > 0 %}

Sanctioned Transaction{{ sanctioned_missing_tx | length | pluralize }} missing from Block

The block does not contain {{ sanctioned_missing_tx | length | pluralize(singular=" a ", plural="") }} sanctioned transaction{{ sanctioned_missing_tx | length | pluralize }} present in the block template. A transaction is considered as sanctioned when it pays to a sanctioned address or spends from an Unspent Transaction Output (UTXO) belonging to a sanctioned address. Details about sanctioned Addresses and UTXOs can be found in the FAQ.

{{ block_with_tx.block.pool_name }} does not necessarily filter transactions based on US sanction programs. Transactions can be missing from blocks for multiple reasons, including, for example, bad propagation or conflicts with other unconfirmed transactions. For more details, read: FAQ: Why can a transaction be missing from a block? However, the likelihood that {{ block_with_tx.block.pool_name }} filters sanctioned transactions increases when sanctioned transactions are repeatedly missing from blocks mined by {{ block_with_tx.block.pool_name }}.

{% for tx in sanctioned_missing_tx %} {{ block::sanctioned_transaction(tx=tx, template_tx_count=block_with_tx.block.template_tx) }} {% endfor %}
{% endif %}

Feerate Distribution in Template and Block

This graph shows the feerates of transaction packages in the template and the block. The package weight in Weight Units (WU) is used for the x-Axis. A full template or block can have a maximum weight of 4,000,000 WU (4 MWU).

Note: The graph might contain package ordering artifacts from transaction package construction. The packages are purposefully not sorted by feerate to show custom pool prioritizations (if present).

Missing Transactions ({{ block_with_tx.txns_only_in_template | length }})

Transactions only included in the Template

This list includes all transactions that the mining pool ({{ block_with_tx.block.pool_name }}) did not include in the block but which were in the block template. The pool might have favored transactions paying a higher feerate, which the node generating the block template did not know about. Alternatively, a missing transaction could have not propagated to the pool yet or was filtered by the pool.

{% for tx in block_with_tx.txns_only_in_template %} {% if loop.index == 16 %}
Show {{ block_with_tx.txns_only_in_template | length - 15}} more {% endif %} {{ transaction::block_transaction(tx=tx, place="template", tx_count=block_with_tx.block.block_tx) }} {% if loop.last and loop.index >= 16 %}
{% endif %} {% endfor %}

Extra Transactions ({{ block_with_tx.txns_only_in_block | length }})

Transactions only included in the Block

This list includes all transactions that the mining pool ({{ block_with_tx.block.pool_name }}) did include in the block but which weren't in the block template. The transaction could, for example, have been transmitted to the miner in private, the miner could have received an out-of-band payment for the transaction, or it didn't propagate to the Bitcoin Core node generating the block template yet.

{% for tx in block_with_tx.txns_only_in_block %} {% if loop.index == 16 %}
Show {{ block_with_tx.txns_only_in_block | length - 15}} more {% endif %} {{ transaction::block_transaction(tx=tx, place="block", tx_count=block_with_tx.block.block_tx) }} {% if loop.last and loop.index >= 16 %}
{% endif %} {% endfor %}
{% include "chart/feerates.html" %} {% endblock content %}