Per-pool share-warning toggle and aggregate large coinbase outputs#1678
Open
warioishere wants to merge 2 commits into
Open
Per-pool share-warning toggle and aggregate large coinbase outputs#1678warioishere wants to merge 2 commits into
warioishere wants to merge 2 commits into
Conversation
Collaborator
|
Screenshots please 🙂 |
I run blitzpool, which is rolling out a new payout mode (currently in testing)
that pays miners directly via the coinbase tx -- PPLNS / group solo with the
share going straight to each miner's address. Ocean is the only other pool I'm
aware of that also splits the reward across many outputs. On this kind of pool
the dashboard's "your share is only X%" warning fires constantly because the
reward is split across many addresses, and the output list gets truncated so
the user's own payout is sometimes not even visible.
Share warning toggle
- New per-pool setting under Advanced Options ("Share Warning"), exposed via
/api/system/info as stratumShareWarning / fallbackStratumShareWarning.
- Default is true, so existing behavior is preserved.
- The dashboard's NOT_SOLO_MINING / NO_MINING_REWARD warnings respect the
setting of the currently active pool (primary or fallback).
Output limit and aggregation
- MAX_COINBASE_TX_OUTPUTS raised 6 -> 32 to cover typical PPLNS payout sizes.
- For txs with even more outputs than that, the decoder keeps the user's payout
and the highest-value entries; the rest is folded into a new "others" bucket
(coinbaseOthersCount + coinbaseOthersValueSatoshis). OP_RETURN / witness
commitment outputs are never evicted. Total and user-value sums were already
computed across all outputs, so the share percentage stays accurate.
Dashboard
- The user's payout output is moved to the top of the list so it's always
visible without scrolling.
- A "+ N other recipient(s)" row at the bottom shows the aggregated remainder
for txs with more outputs than fit in the array.
5769271 to
b5777d1
Compare
Contributor
Author
Collaborator
|
By having 2 separate max_item values the aggregation code is duplicated between frontend and backend. It's probably simpler to just keep it to the backend, at least for now. A cherry-on-top change would be to adjust the number of visible items on the frontend based on the size of the card, but that would be outside the scope of this PR. |
Per review feedback, drop the duplicated aggregation logic in the frontend. MAX_COINBASE_TX_OUTPUTS is now the single cap (4): the backend smart-fills up to 4 outputs (user output guaranteed) and aggregates everything else into coinbaseOthersCount / coinbaseOthersValueSatoshis. The dashboard just renders what it receives plus the "+ N other recipients" row from those fields.
Contributor
Author
|
you are right, MAX_COINBASE_TX_OUTPUTS ist the single soure now. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.


I'm working on new minings modes for blitzpool (currently in testing) that pays miners directly via the coinbase tx — Group-Solo / PPLNS, with the share going straight to each miner's address instead of accumulating at the pool. Ocean is the only other pool I'm aware of that splits the reward across many outputs the same way. PPLNS is not the real intention to her but the Group-Solo Mode might be interessting for some group Pleb Miners that dont want to trust a single admin or a pair of admins managing a multisig wallet.
Two things break on the Bitaxe dashboard when mining on a pool like that:
This PR addresses both. Defaults are unchanged for normal solo / fee-based pools.
Share warning toggle
/api/system/infoasstratumShareWarning/fallbackStratumShareWarning.true, so existing users see no change.NOT_SOLO_MINING/NO_MINING_REWARDmessages now check the active pool (primary vs fallback) and only fire if its toggle is on.Larger output list with smart fill
MAX_COINBASE_TX_OUTPUTSraised from 6 to 32.coinbaseOthersCount+coinbaseOthersValueSatoshis). OP_RETURN / witness commitment outputs are never evicted.Dashboard changes
+ N other recipient(s)summary line with the aggregated value. Includes outputs that fit in the array but didn't make the visible cap, plus any server-side overflow fromcoinbaseOthersCount.Things I'm happy to change if you want it different
GlobalState.Builds fine.