Class PseudoRandomNumberExtensions
Extension methods for generating pseudo-random numbers on the network.
Inherited Members
Namespace: Hiero
Assembly: Hiero.dll
Syntax
public static class PseudoRandomNumberExtensions
Methods
| Edit this page View SourceGeneratePseudoRandomNumberAsync(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 |
|---|---|
| ArgumentOutOfRangeException | If required arguments are missing. |
| InvalidOperationException | If required context configuration is missing. |
| PrecheckException | If the gateway node create rejected the request upon submission. |
| ConsensusException | If the network was unable to come to consensus before the duration of the transaction expired. |
| TransactionException | If the network rejected the create request as invalid or had missing data. |