Mining pool integration (important)
FlashCoin v0.1.3 introduces strict consensus rules for block rewards.
If your pool does not build the coinbase transaction correctly, all blocks will be rejected.
1. Block reward rules
At the consensus level, every block must follow these rules:
-
Block subsidy: currently
5 FLASHper block (before halvings). -
Total block reward:
coinbase_output_total = block_subsidy + transaction_fees -
Founder reward:
Exactly 10% of the block subsidy (not including fees) must be paid to:fl1q2uapupfnguw4tlvn75w0hh4enr6g3xjgrl7mumOn the current subsidy (5 FLASH), this is:
0.5 FLASHto the founder4.5 FLASH + feesto the miner / pool
2. What your pool must do
When building the coinbase transaction, your pool software must:
- Compute the block subsidy (currently 5 FLASH).
- Compute the total reward:
total_reward = subsidy + tx_fees. - Create a coinbase transaction whose total outputs sum to
total_reward. - Include one output that:
- Pays exactly 10% of the subsidy to
fl1q2uapupfnguw4tlvn75w0hh4enr6g3xjgrl7mum.
- Pays exactly 10% of the subsidy to
- Pay the remaining amount (subsidy minus founder reward, plus fees) to the pool/miner address.
If your pool ignores the node’s coinbase template and builds its own coinbase, you must update your coin template / payout logic to respect these rules.
3. Common error messages
If the pool is misconfigured, the node will reject blocks with errors like:
-
bad-cb-amount
→ The total coinbase outputs do not equalsubsidy + fees. -
bad-fndr-missing
→ The coinbase does not contain an output to the founder address. -
bad-fndr-amount
→ There is a founder output, but the amount is not exactly 10% of the subsidy.
Until the pool is updated to build a correct coinbase transaction, no blocks from that pool will be accepted by the FlashCoin network.