{% extends "base.html" %} {% block title %} - Miner {{ miner.Address.ToBase58() }} {% endblock %} {% block content %}
{% if refresh %} Autorefresh is ON ({{ refresh }} s) {% else %} Autorefresh is OFF {% endif %}
{% if miner.LastShareTimestamp == 0 %}

No shares have been reported to this P2Pool network in the past for this miner.

Finding shares is a random process based on your hashrate vs this P2Pool hashrate. This can take several days for low hashrate miners, and depending on your luck.

Please use the calculator below to find your average share time (with average luck).

You can also verify you are reachable by opening ports with the tool below.


Average Share Time Calculator



Connectivity Check




{% endif %} {% if (last_raw_share is defined) and (last_raw_share.ShareVersion()|str != "v2") and (last_raw_share.ShareVersionSignaling()|str != "v2") %}

Recent shares indicate you are running an outdated version of P2Pool

A new version of P2Pool (v3.0+) has been released with several improvements, which requires a consensus change.

P2Pool (not Monero!) has hardforked to new consensus rules on March 18th, 2023 at 21:00 UTC. All versions before P2Pool v3.0 are incompatible. P2Pool v3.2 is recommended.

If you keep using previous versions, you will keep mining as usual, but become almost a solo miner, as incompatible clients will mine on their own.

{% if getenv('NET_SERVICE_ADDRESS') == "p2pool.observer" %}After the fork, you can check on OLD.P2Pool.Observer.{% elseif getenv('NET_SERVICE_ADDRESS') == "mini.p2pool.observer" %}After the fork, you can check on OLD-MINI.P2Pool.Observer.{% else %}Please check on an observer tracking the old chain.{% endif %}

After upgrading to a supported P2Pool version and mining a share, this message will be dismissed.



{% elseif (last_raw_share is defined) and (last_raw_share.ShareVersion()|str != "v1") and (last_raw_share.Side.ExtraBuffer.SoftwareId == "P2Pool") and (last_raw_share.Side.ExtraBuffer.SoftwareVersion != pool.Versions.P2Pool.Version) %}

Recent shares indicate you are running an older version of P2Pool

P2Pool {{ pool.Versions.P2Pool.Version }} has been released.

Your most recent share indicates are currently running {{ software_info(last_raw_share.Side.ExtraBuffer.SoftwareId, last_raw_share.Side.ExtraBuffer.SoftwareVersion) }}. It is recommended to upgrade.

After upgrading to this P2Pool version and mining a share, this message will be dismissed.



{% endif %}

Payout Address: {{ miner.Address.ToBase58() }}

{% if miner.Alias != "" %}

Miner Alias: {{ miner.Alias }}

Miner Alias is user content and not verified. This value should only be used for vanity purposes.

{% endif %}
Last Share Current Shares Estimated Hashrate Pool Share % Estimated Window Reward
{{ time_elapsed_short(miner.LastShareTimestamp) }} {{ window_count_blocks }} blocks (+{{ window_count_uncles }} uncles) {{ ((window_weight / pool.SideChain.Window.Weight|diff_int) * diff_hashrate(pool.SideChain.Difficulty, pool.SideChain.BlockTime))|si_units(3) }}H/s {{ (((window_weight / pool.SideChain.Window.Weight|diff_int))*100)|round(3) }}% {{ monero_to_xmr(expected_reward_per_window) }} XMR
 
Total Shares Day Shares Day Hashrate Day Share % Estimated Daily Reward
{% if (last_raw_share is defined) %}{{ miner.Shares[1].ShareCount }} blocks (+{{ miner.Shares[1].UncleCount }} uncles{% if miner.Shares[0].ShareCount > 0 %}, +{{ miner.Shares[0].ShareCount }} orphans{% endif %}){% else %}No shares reported{% endif %} {{ count_blocks }} blocks (+{{ count_uncles }} uncles) {{ ((weight / ((pool.SideChain.Window.Weight|diff_int * 4) * (pool.SideChain.MaxWindowSize / pool.SideChain.WindowSize))) * diff_hashrate(pool.SideChain.Difficulty, pool.SideChain.BlockTime))|si_units(3) }}H/s {{ (((weight / ((pool.SideChain.Window.Weight|diff_int * 4) * (pool.SideChain.MaxWindowSize / pool.SideChain.WindowSize))))*100)|round(3) }}% {{ monero_to_xmr(expected_reward_per_day) }} XMR

Share positions

Shares appear on the right, and get older towards the left. The pipe (|) character denotes the current PPLNS window end.
Number denotes the amount of shares per slice, with the plus (+) character being more than 9, and dot (.) being none.
Each slice accounts for {{ position_resolution }} P2Pool blocks, or around {{ (position_resolution * pool.SideChain.BlockTime) / 60 }} minutes.

Shares during last day

{{ position_blocks }}

Uncles during last day

{{ position_uncles }} {% if count_payouts > 0 %}

Payouts during last day

{{ position_payouts }} {% endif %}



Most recent payouts

{% set payouts = last_payouts %} {% include('tpl_payouts.html') %}
[show all historical payouts]

Most recent shares

{% set shares = last_shares %} {% set shares_efforts = last_shares_efforts %} {% set shares_is_miner = true %} {% include('tpl_shares.html') %}

{% if last_orphaned_shares|length > 0 %}

Most recent orphaned shares

{% set shares = last_orphaned_shares %} {% set shares_efforts = undefined %} {% set shares_is_miner = true %} {% include('tpl_shares.html') %}

{% endif %}

Most recent Monero blocks found

{% set found_blocks = last_found %} {% set found_blocks_is_miner = true %} {% include('tpl_found_blocks.html') %}
[show more found blocks]

Most recent likely sweeps

{% set sweeps = last_sweeps %} {% set sweeps_is_miner = true %} {% include('tpl_sweeps.html') %}
[show more likely sweeps]
{% if miner.LastShareTimestamp != 0 %}

Effort Calculation

Local hashrate of each P2Pool miner is not known by the network. A guess is calculated based on daily estimation. If you provide a value here, it will be more accurate for effort calculation.

This data will not be saved.




Set Miner Alias

To set a miner alias you will need to sign a message using your wallet. On the Monero GUI, go to Advanced -> Sign/verify -> Select Mode "Message"

Enter the desired Miner Alias in Message, then press Sign Message. Copy the Signature and paste it on the field below, along with your chosen Miner Alias.

Miner Alias must be 4 to 20 characters long, and only 0-9, a-z, A-Z, and _-. are allowed, and cannot start with a number or symbol. No spaces are allowed either. Alias are unique for the observer instance.

You can remove your miner alias by using "REMOVE_MINER_ALIAS" as an alias.



{% endif %} {% endblock %}