Show / Hide Table of Contents

Class PseudoRandomNumberExtensions

Extension methods for generating pseudo-random numbers on the network.

Inheritance
object
PseudoRandomNumberExtensions
Inherited Members
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: Hiero
Assembly: Hiero.dll
Syntax
public static class PseudoRandomNumberExtensions

Methods

| Edit this page View Source

GeneratePseudoRandomNumberAsync(ConsensusClient, PseudoRandomNumberParams, Action<IConsensusContext>?)

Generates a pseudo random number, which can be retrieved via the transaction's record.

Declaration
public static Task<TransactionReceipt> GeneratePseudoRandomNumberAsync(this ConsensusClient client, PseudoRandomNumberParams randomParams, Action<IConsensusContext>? configure = null)
Parameters
Type Name Description
ConsensusClient client

The Consensus Node Client.

PseudoRandomNumberParams randomParams

The parameters for generating the pseudo random number.

Action<IConsensusContext> configure

Optional callback method providing an opportunity to modify the execution configuration for just this method call. It is executed prior to submitting the request to the network.

Returns
Type Description
Task<TransactionReceipt>

A transaction receipt indicating the success of the operation.

Examples
// Request 48 bytes of network-generated pseudo-random data. The
// receipt itself only confirms consensus; fetch the transaction
// record from a mirror node to read the value out
// (BytesPseudoRandomNumberRecord when MaxValue is null, or
// RangedPseudoRandomNumberRecord with an int when MaxValue is set).
var receipt = await client.GeneratePseudoRandomNumberAsync(new PseudoRandomNumberParams());
Console.WriteLine($"PRNG tx id: {receipt.TransactionId}");
Exceptions
Type Condition
ArgumentException

If required arguments are missing or invalid.

InvalidOperationException

If required context configuration is missing.

PrecheckException

If the gateway node refused the transaction. Only a code about the transaction itself proves it did not execute; any other code leaves the outcome unknown, so settle it by its transaction id on a mirror node rather than resubmitting it (see PrecheckException).

ConsensusException

If the outcome could not be confirmed: the transaction may have executed, so settle it by its transaction id on a mirror node rather than resubmitting it.

TransactionException

If the network rejected the request as invalid or had missing data.

  • Edit this page
  • View Source
In this article
Back to top .NET Client Library for Hiero Network and Hedera Hashgraph