Bitcoin BlockTemplate Structure BlockTemplate Block template data from getblocktemplate (BIP 22/23/9/145). struct BlockTemplate Overview Contains everything needed to construct a candidate block for mining. Fee and coinbase value fields are in satoshis (not BTCAmount). Note Targets Bitcoin Core v31.x. Topics Initializers init(from: any Decoder) throws Instance Properties let bits: StringCompressed target of next block. let coinbaseaux: [String : String]Data that should be included in the coinbase’s scriptSig content. let coinbasevalue: Int64Maximum allowable input to coinbase transaction, including the generation award and transaction fees (in satoshis). let curtime: UnixTimestampCurrent timestamp. let defaultWitnessCommitment: String?A valid witness commitment for the unmodified block template (optional). let height: IntThe height of the next block. let longpollid: StringAn id to include with a request to longpoll on an update to this template. let mintime: UnixTimestampThe minimum timestamp appropriate for the next block time. let mutable: [String]List of ways the block template may be changed. let noncerange: StringA range of valid nonces (hex). let previousblockhash: StringThe hash of the current highest block. let rules: [String]Specific block rules that are to be enforced (BIP 9). let sigoplimit: IntLimit of sigops in blocks. let sizelimit: IntLimit of block size. let target: StringThe hash target. let transactions: [BlockTemplateTransaction]Non-coinbase transactions that should be included in the next block. let vbavailable: [String : Int]Set of pending, supported versionbit (BIP 9) softfork deployments. Keys are rule names, values are bit numbers. let vbrequired: IntBit mask of versionbits the server requires set in submissions. let version: IntThe preferred block version. let weightlimit: IntLimit of block weight.