Show / Hide Table of Contents

Struct BlockHash

A value type to represent SHA-256 digest of Block<T> data.

Implements
ISerializable
IEquatable<BlockHash>
Inherited Members
Object.Equals(Object, Object)
Object.GetType()
Object.ReferenceEquals(Object, Object)
Namespace: Libplanet.Blocks
Assembly: Libplanet.dll
Syntax
[Serializable]
public readonly struct BlockHash : ISerializable, IEquatable<BlockHash>

Constructors

| Improve this Doc View Source

BlockHash(ImmutableArray<Byte>)

Converts an immutable Byte array into a BlockHash.

Declaration
public BlockHash(ImmutableArray<byte> blockHash)
Parameters
Type Name Description
ImmutableArray<Byte> blockHash

An immutable Byte array that encodes a SHA-256 digest of a Block<T>.

Exceptions
Type Condition
ArgumentOutOfRangeException

Thrown when the given blockHash's is not 32.

| Improve this Doc View Source

BlockHash(Byte[])

Converts a Byte array into a BlockHash.

Declaration
public BlockHash(byte[] blockHash)
Parameters
Type Name Description
Byte[] blockHash

A Byte array that encodes a BlockHash.

Exceptions
Type Condition
ArgumentNullException

Thrown when the given blockHash is null.

ArgumentOutOfRangeException

Thrown when the given blockHash's is not 32.

Fields

| Improve this Doc View Source

Size

The size of bytes that each BlockHash consists of.

Declaration
public const int Size = 32
Field Value
Type Description
Int32

Properties

| Improve this Doc View Source

ByteArray

A bare immutable Byte array of the block hash.

Declaration
public readonly ImmutableArray<byte> ByteArray { get; }
Property Value
Type Description
ImmutableArray<Byte>
Remarks

It is immutable. For a mutable array, use ToByteArray() method instead.

See Also
ToByteArray()

Methods

| Improve this Doc View Source

DeriveFrom(IReadOnlyList<Byte>)

Computes a SHA-256 digest from the given blockBytes.

Declaration
[Pure]
public static BlockHash DeriveFrom(IReadOnlyList<byte> blockBytes)
Parameters
Type Name Description
IReadOnlyList<Byte> blockBytes

The bytes serializing a block to compute its hash.

Returns
Type Description
BlockHash

The SHA-256 hash digest derived from blockBytes.

| Improve this Doc View Source

Equals(BlockHash)

Declaration
[Pure]
public readonly bool Equals(BlockHash other)
Parameters
Type Name Description
BlockHash other
Returns
Type Description
Boolean
| Improve this Doc View Source

Equals(Object)

Declaration
[Pure]
public override readonly bool Equals(object obj)
Parameters
Type Name Description
Object obj
Returns
Type Description
Boolean
Overrides
ValueType.Equals(Object)
| Improve this Doc View Source

FromHashDigest(HashDigest<SHA256>)

Converts a given HashDigest<T> into a BlockHash value.

Declaration
[Pure]
public static BlockHash FromHashDigest(HashDigest<SHA256> hashDigest)
Parameters
Type Name Description
HashDigest<SHA256> hashDigest

A SHA-256 digest.

Returns
Type Description
BlockHash

A block hash corresponding to the hashDigest.

| Improve this Doc View Source

FromString(String)

Converts a given hexadecimal representation of a block hash into a BlockHash value.

This is an inverse function of ToString() method.

Declaration
[Pure]
public static BlockHash FromString(string hex)
Parameters
Type Name Description
String hex

A hexadecimal representation of a BlockHash.

Returns
Type Description
BlockHash

A corresponding BlockHash value.

Exceptions
Type Condition
ArgumentNullException

Thrown when the given hex is null.

ArgumentOutOfRangeException

Thrown when the length of the given hex string is an odd number.

FormatException

Thrown when the given hex string is not a valid hexadecimal string.

ArgumentOutOfRangeException

Thrown when the given hex's length is not 64.

See Also
ToString()
| Improve this Doc View Source

GetHashCode()

Declaration
[Pure]
public override readonly int GetHashCode()
Returns
Type Description
Int32
Overrides
ValueType.GetHashCode()
| Improve this Doc View Source

GetObjectData(SerializationInfo, StreamingContext)

Declaration
public readonly void GetObjectData(SerializationInfo info, StreamingContext context)
Parameters
Type Name Description
SerializationInfo info
StreamingContext context
| Improve this Doc View Source

ToByteArray()

Gets a bare mutable Byte array of the block hash.

Declaration
[Pure]
public readonly byte[] ToByteArray()
Returns
Type Description
Byte[]

A new mutable Byte array of the block hash. Since a returned array is created every time the method is called, any mutations on that array does not affect to the block hash object.

See Also
ByteArray
| Improve this Doc View Source

ToString()

Declaration
[Pure]
public override readonly string ToString()
Returns
Type Description
String
Overrides
ValueType.ToString()

Implements

System.Runtime.Serialization.ISerializable
System.IEquatable<T>

See Also

Hash
  • Improve this Doc
  • View Source
In This Article
Back to top Copyright © 2018–2021 Planetarium