@dashevo/dashcore-lib
Version:
A pure and powerful JavaScript Dash library.
154 lines (87 loc) • 4.42 kB
Markdown
**Usage**: `new BlockHeader(data)`
**Description**: Instantiate a BlockHeader from a Buffer, JSON object, or Object with the properties of the BlockHeader
| parameters | type | required | Description |
| ---------- | -------------------- | -------- | -------------------------------- |
| **data** | Object/Buffer/String | yes | A Buffer, JSON string, or Object |
Returns : {BlockHeader} A new instance of a BlockHeader
## BlockHeader.fromObject(json)
**Description**: Instantiate a block from an Object
Parameters:
| parameter | type | required | Description |
| --------- | ------ | -------- | ------------------------- |
| **obj** | Object | yes | A plain JavaScript object |
Returns : {BlockHeader} An instance of block header
## BlockHeader.fromRawBlock()
**Description**: Instantiate a block from an Object
Parameters:
| parameter | type | required | Description |
| --------- | ------ | -------- | ------------------------------- |
| **data** | Buffer | yes | Raw block binary data or buffer |
Returns : {BlockHeader} An instance of block header
## BlockHeader.fromBuffer(buffer)
**Description**: Instantiate a block from a Buffer
Parameters:
| parameter | type | required | Description |
| ---------- | ------ | -------- | ---------------------------- |
| **buffer** | Buffer | yes | A buffer of the block header |
Returns : {BlockHeader} An instance of block header
## Block.fromBufferReader(bufferReader)
**Description**: Instantiate a BlockHeader from a BufferReader
Parameters:
| parameter | type | required | Description |
| ---------------- | ------------ | -------- | ----------------------------------- |
| **bufferReader** | BufferReader | yes | A buffer reader of the block header |
Returns : {BlockHeader} An instance of block header
## Block.fromString(str)
**Description**: Instantiate a block header from a string representation
**Parameters**:
| parameter | type | required | Description |
| --------- | ------ | -------- | ---------------------------------------- |
| **str** | String | yes | A hex encoded string of the block header |
Returns : {BlockHeader} An instance of block header
## .getTargetDifficulty(bits)
**Description**: Returns the target difficulty for this block
**Parameters**:
| parameter | type | required | Description |
| --------- | ------ | -------- | ----------- |
| **bits** | Number | no | bits number |
**Returns**: {BN} An instance of BN with the decoded difficulty bits
## .getDifficulty()
**Description**: Returns the difficulty value
**Parameters**: None
**Returns**: {Number}
## .toJSON() / .toObject()
**Description**: Will return an object representation of the block header
**Parameters**: None.
**Returns**: {Object} A plain object with the block header properties
## .toBuffer()
**Description**: Will return a buffer representation of the block header
**Parameters**: None.
**Returns**: {Buffer} A buffer of the block header
## .toString()
**Description**:Will return a string representation of the block header
**Parameters**: None.
**Returns**: {string} A hex encoded string of the block header
## .toBufferWriter(bw)
**Description**: Instantiate a block header from an BufferWriter
**Parameters**:
| parameter | type | required | Description |
| --------- | ------------ | -------- | ------------------------------------ |
| **bw** | BufferWriter | no | An existing instance of BufferWriter |
**Returns**: {BufferWriter} An instance of BufferWriter representation of the Block Header
## .validTimestamp()
**Description**: Verifies that the timestamp is not too far in the future
**Parameters**: None.
**Returns**: {Boolean} If timestamp is not too far in the future
## .validProofOfWork()
**Description**: Verifies that the proof-of-work hash satisfies the target difficulty
**Parameters**: None.
**Returns**: {Boolean}
## .inspect()
**Description**: Will return a string formatted for the console
**Parameters**: None.
**Returns**: {string} Console representation of this block header hash
```js
const block = new BlockHeader(...);
block.toInspect() // <BlockHeader: 0000000cc55c08ed64afb41c7c2f382a64901eadfcc6663c4e70987fdc0e8401>
```