Create Mining Transaction Type
Summary
Create a new transaction type for mining submissions.
Background
Miners need a specific transaction type to submit their proof-of-work solutions and participate in mining epochs.
Requirements
- Define MiningSubmission transaction type
- Add transaction validation logic
- Implement executor for processing mining transactions
- Handle mining account references
Implementation Details
type MiningSubmission struct {
TransactionBody
MiningSignature *LxrMiningSignature
MiningAccount *url.URL // Target mining account
EpochNumber uint64 // Which epoch this submission is for
}
Acceptance Criteria
-
Transaction type defined in protocol/transactions.yml -
Transaction executor implemented in internal/core/execute/v2/ -
Validation checks mining account exists -
Validation checks miner is registered (in keybook) -
Validation checks epoch is current -
Unit tests for transaction validation -
Integration tests for submission flow
Dependencies
- Depends on: #3667 (LxrMiningSignature Type)
Related
- Epic: &37
- Specification: 32-lxr-mining.md