Class CreateTopicExtensions
Extension methods for creating consensus topics.
Inherited Members
Namespace: Hiero
Assembly: Hiero.dll
Syntax
public static class CreateTopicExtensions
Methods
| Edit this page View SourceCreateTopicAsync(ConsensusClient, CreateTopicParams, Action<IConsensusContext>?)
Creates a new topic instance with the given create parameters.
Declaration
public static Task<CreateTopicReceipt> CreateTopicAsync(this ConsensusClient client, CreateTopicParams createParameters, Action<IConsensusContext>? configure = null)
Parameters
| Type | Name | Description |
|---|---|---|
| ConsensusClient | client | The Consensus Node Client orchestrating the create. |
| CreateTopicParams | createParameters | Details regarding the topic to instantiate. |
| 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<CreateTopicReceipt> | A transaction receipt with a description of the newly created topic. |
Examples
Create a topic gated by separate admin and submit keys:
// Create a topic with an admin key (required to update or delete it)
// and a separate submit key (required on every SubmitMessage call).
// Both key-holders must sign CreateTopic.
var receipt = await client.CreateTopicAsync(new CreateTopicParams
{
Memo = "Gated topic",
Administrator = adminEndorsement,
Submitter = submitterEndorsement,
RenewPeriod = TimeSpan.FromDays(90)
});
Console.WriteLine($"Topic: {receipt.Topic}");
Exceptions
| Type | Condition |
|---|---|
| ArgumentOutOfRangeException | If required arguments are missing. |
| InvalidOperationException | If required context configuration is missing. |
| PrecheckException | If the gateway node 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 request as invalid or had missing data. |