Documentation / @cashconnect-js/core / primitives/block-header
BlockHeader
Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:25
Represents a Bitcoin Cash block header. This class handles parsing and serialization of BCH block headers between different formats (raw object, bytes, hex) and provides access to individual header fields.
Example
// Import our primitives.
import { BlockHeader } from '@libcash/primitives';
// Instantiate BlockHeader Primitive from Hex.
const blockHeader = BlockHeader.from('blockHeaderHex');
// Output Block Header information.
console.log(blockHeader.getVersion());
console.log(blockHeader.getTimestamp());
console.log(blockHeader.getNonce());Methods
from()
static from(blockHeader): BlockHeader;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:52
Instantiates a blockheader from either:
- Transaction bytecode
- Transaction bytecode (in hexadecimal format)
Parameters
| Parameter | Type | Description |
|---|---|---|
blockHeader | string | Uint8Array<ArrayBufferLike> | The block header in one of the above formats. |
Returns
The created BlockHeader Primitive.
Throws
If the block header cannot be decoded.
fromBytes()
static fromBytes(bytes): BlockHeader;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:64
Creates a BlockHeader instance from a byte array.
Parameters
| Parameter | Type | Description |
|---|---|---|
bytes | Bytes | Uint8Array<ArrayBufferLike> | 80-byte array containing the serialized block header |
Returns
A new BlockHeader instance
Throws
Error if the byte array length is not 80
fromHex()
static fromHex(hex): BlockHeader;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:78
Creates a BlockHeader instance from a hex string.
Parameters
| Parameter | Type | Description |
|---|---|---|
hex | string | 160-character hex string representing the block header |
Returns
A new BlockHeader instance
Throws
Error if the hex string length is not 160
fromRaw()
static fromRaw(bytes): BlockHeader;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:90
Creates a BlockHeader instance from a raw object representation.
Parameters
| Parameter | Type | Description |
|---|---|---|
bytes | Uint8Array | Object containing the block header fields |
Returns
A new BlockHeader instance
Remarks
This method is UNSAFE and MUST only be used where input is already verified or trusted.
generateRandom()
static generateRandom(timestampUnix?): BlockHeader;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:94
Parameters
| Parameter | Type |
|---|---|
timestampUnix? | number |
Returns
isValid()
static isValid(blockHeader): boolean;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:126
Checks whether the given BlochHeader is of a valid structure.
Parameters
| Parameter | Type | Description |
|---|---|---|
blockHeader | string | Uint8Array<ArrayBufferLike> | The blockheader as hex or a Uint8Array. |
Returns
boolean
boolean indicating whether the blockheader is of a valid structure.
toBytes()
toBytes(): Bytes;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:140
Serializes the block header to a byte array.
Returns
80-byte array containing the serialized block header
toHex()
toHex(): string;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:149
Converts the block header to a hex string.
Returns
string
160-character hex string representing the block header
toRaw()
toRaw(): Bytes;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:158
Converts the block header to a serializable raw object representation.
Returns
Object containing the block header fields
getVersion()
getVersion(): number;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:163
Returns
number
getVersionBytes()
getVersionBytes(): Uint8Array;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:167
Returns
Uint8Array
getVersionHex()
getVersionHex(): string;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:171
Returns
string
getPreviousBlockHash()
getPreviousBlockHash(): Uint8Array;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:175
Returns
Uint8Array
getMerkleRoot()
getMerkleRoot(): Uint8Array;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:180
Returns
Uint8Array
getTimestamp()
getTimestamp(): number;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:185
Returns
number
getTimestampDate()
getTimestampDate(): Date;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:189
Returns
Date
getBits()
getBits(): number;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:193
Returns
number
getBitsBytes()
getBitsBytes(): Uint8Array;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:197
Returns
Uint8Array
getBitsHex()
getBitsHex(): string;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:201
Returns
string
getNonce()
getNonce(): number;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:205
Returns
number
getNonceBytes()
getNonceBytes(): Uint8Array;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:209
Returns
Uint8Array
getNonceHex()
getNonceHex(): string;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:213
Returns
string
getPreviousBlockHashHex()
getPreviousBlockHashHex(): string;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:221
Gets the previous block hash as a hex string.
Returns
string
64-character hex string
getMerkleRootHex()
getMerkleRootHex(): string;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:229
Gets the merkle root as a hex string.
Returns
string
64-character hex string
getHash()
getHash(): Uint8Array;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:237
Calculates the hash of this block header.
Returns
Uint8Array
32-byte array containing the block hash
getHashHex()
getHashHex(): string;Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:245
Gets the block hash as a hex string.
Returns
string
64-character hex string