Skip to content

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

ts
// 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()

ts
static from(blockHeader): BlockHeader;

Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:52

Instantiates a blockheader from either:

  1. Transaction bytecode
  2. Transaction bytecode (in hexadecimal format)
Parameters
ParameterTypeDescription
blockHeaderstring | Uint8Array<ArrayBufferLike>The block header in one of the above formats.
Returns

BlockHeader

The created BlockHeader Primitive.

Throws

If the block header cannot be decoded.

fromBytes()

ts
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
ParameterTypeDescription
bytesBytes | Uint8Array<ArrayBufferLike>80-byte array containing the serialized block header
Returns

BlockHeader

A new BlockHeader instance

Throws

Error if the byte array length is not 80

fromHex()

ts
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
ParameterTypeDescription
hexstring160-character hex string representing the block header
Returns

BlockHeader

A new BlockHeader instance

Throws

Error if the hex string length is not 160

fromRaw()

ts
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
ParameterTypeDescription
bytesUint8ArrayObject containing the block header fields
Returns

BlockHeader

A new BlockHeader instance

Remarks

This method is UNSAFE and MUST only be used where input is already verified or trusted.

generateRandom()

ts
static generateRandom(timestampUnix?): BlockHeader;

Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:94

Parameters
ParameterType
timestampUnix?number
Returns

BlockHeader

isValid()

ts
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
ParameterTypeDescription
blockHeaderstring | Uint8Array<ArrayBufferLike>The blockheader as hex or a Uint8Array.
Returns

boolean

boolean indicating whether the blockheader is of a valid structure.

toBytes()

ts
toBytes(): Bytes;

Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:140

Serializes the block header to a byte array.

Returns

Bytes

80-byte array containing the serialized block header

toHex()

ts
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()

ts
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

Bytes

Object containing the block header fields

getVersion()

ts
getVersion(): number;

Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:163

Returns

number

getVersionBytes()

ts
getVersionBytes(): Uint8Array;

Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:167

Returns

Uint8Array

getVersionHex()

ts
getVersionHex(): string;

Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:171

Returns

string

getPreviousBlockHash()

ts
getPreviousBlockHash(): Uint8Array;

Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:175

Returns

Uint8Array

getMerkleRoot()

ts
getMerkleRoot(): Uint8Array;

Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:180

Returns

Uint8Array

getTimestamp()

ts
getTimestamp(): number;

Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:185

Returns

number

getTimestampDate()

ts
getTimestampDate(): Date;

Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:189

Returns

Date

getBits()

ts
getBits(): number;

Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:193

Returns

number

getBitsBytes()

ts
getBitsBytes(): Uint8Array;

Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:197

Returns

Uint8Array

getBitsHex()

ts
getBitsHex(): string;

Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:201

Returns

string

getNonce()

ts
getNonce(): number;

Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:205

Returns

number

getNonceBytes()

ts
getNonceBytes(): Uint8Array;

Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:209

Returns

Uint8Array

getNonceHex()

ts
getNonceHex(): string;

Defined in: cashconnect-js/packages/core/src/primitives/block-header.ts:213

Returns

string

getPreviousBlockHashHex()

ts
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()

ts
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()

ts
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()

ts
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