[go: up one dir, main page]

Skip to content

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