メインコンテンツへ移動

Mining RPCs

RPC commands for MatMul v4.7 mining, trusted attestation status and transfer, block templates, and difficulty monitoring.

Mine コンテキスト

この参照は BTX の運用展開の一部です。

Mine マイクロサイトへ戻ると、このガイドを運用仮説、AI インフラ文脈、マイニング起動キットの中に戻して読めます。

MatMul v4.7 status and attestation RPCs

These v0.33.2 commands inspect or transfer the optional trusted-mirror sidecar. They do not create a block-level consensus proof and do not make a trusted mirror independently validating.

RPCPurpose
getmatmultrustedstatusReport node role, attestation version, replay-authority context, signer threshold, store counters, completed quorums, rejects, duplicates, and timeouts
getmatmulattestations "blockhash"Export the currently retained serialized attestations for one known Profile-1 block
submitmatmulattestations '["hex", ...]'Verify and import a bounded bundle; only distinct configured signatures matching local chain, height, hash, profile, and authority context can count
exportmatmulattestationsAlias for getmatmulattestations
importmatmulattestationsAlias for submitmatmulattestations
btx-cli getmatmultrustedstatus
btx-cli getmatmulattestations <blockhash>
btx-cli submitmatmulattestations '["<serialized-attestation>", ...]'

Compare attestation_version and replay_authority_context across every archive and mirror before admitting traffic. Read the trusted MatMul mirror guide for topology, key custody, quorum, and recovery rules.

getblocktemplate

Returns versioned data needed to construct a block. At height 185,000 the template selects MatMul v4.7 Profile 1; older templates retain the v3 fields described below.

btx-cli getblocktemplate '{"rules": ["segwit"]}'

Key response fields for MatMul mining:

FieldDescription
previousblockhashHash of the current chain tip
targetCurrent difficulty target
matmul_dimVersioned consensus dimension: 512 for v3 and 4,096 for Epoch-A Profile 1
seed_a, seed_bDeterministic base matrix seeds derived from chain state
noncerange64-bit nonce range: 0000000000000000ffffffffffffffff

Legacy v3 nonce flow (below height 185,000)

For each nonce candidate:

  1. Derive perturbation matrices E, F from candidate header + nonce
  2. Compute C' = (A+E)(B+F) over F(2^31 − 1)
  3. Hash the transcript: H(A+E ∥ B+F ∥ C')
  4. If hash < target, submit the block

submitblock

Submit a solved block to the network.

btx-cli submitblock "hexdata"

getmininginfo

Returns current mining state including MatMul parameters.

btx-cli getmininginfo

Response includes:

  • blocks — current block height
  • difficulty — current network difficulty
  • matmul_n — versioned matrix dimension (512 for v3, 4,096 for Epoch-A Profile 1)
  • matmul_b — transcript block size (16)
  • matmul_r — noise rank (8)
  • networkhashps — estimated network hash rate

getdifficultyhealth

Returns comprehensive difficulty health metrics for network monitoring.

btx-cli getdifficultyhealth

Response categories:

  • recent_interval_stats — mean, p50, p90, p99, stddev of recent block intervals
  • reward_distribution — HHI, Gini coefficient, top miner share, longest streak
  • reorg_protection — configuration state and rejection counters
  • consensus_guards — Freivalds transcript-binding, ASERT half-life visibility

getnetworkhashps

Returns estimated network hashes per second.

btx-cli getnetworkhashps [nblocks] [height]

getmatmulchallenge

Get the current network-bound MatMul challenge with full header context.

btx-cli getmatmulchallenge

Returns the exact header context for sigma reproduction, work profile metrics, and pre-hash lottery exposure.

generatetoaddress

Generate blocks to a specific address (regtest/testing only).

btx-cli generatetoaddress 1 "btx1z..."

Note: Regtest uses fSkipMatMulValidation=true by default, so MatMul proofs are not verified in regtest mode.