Skip to main content

FaucetClient

Namespace: IotaSdk

public class FaucetClient : IFaucetClient, System.IDisposable

Inheritance ObjectFaucetClient
Implements IFaucetClient, IDisposable
Attributes NullableContextAttribute, NullableAttribute

Constructors

FaucetClient(UInt64)

public FaucetClient(ulong pointer)

Parameters

pointer UInt64

FaucetClient(String)

Construct a new FaucetClient with the given faucet service URL. This FaucetClient expects that the service provides two endpoints: /v1/gas and /v1/status. As such, do not provide the request endpoint, just the top level service endpoint.

  • /v1/gas is used to request gas
  • /v1/status/task-uuid is used to check the status of the request
public FaucetClient(string faucetUrl)

Parameters

faucetUrl String

Methods

Destroy()

public void Destroy()

Dispose()

public void Dispose()

Request(Address)

Request gas from the faucet. Note that this will return the UUID of the request and not wait until the token is received. Use request_and_wait to wait for the token.

public async Task<string?> Request(Address address)

Parameters

address Address

Returns

Task<String>

Exceptions

SdkFfiException

RequestAndWait(Address)

Request gas from the faucet and wait until the request is completed and token is transferred. Returns FaucetReceipt if the request is successful, which contains the list of tokens transferred, and the transaction digest.

Note that the faucet is heavily rate-limited, so calling repeatedly the faucet would likely result in a 429 code or 502 code.

If you intend to use the transferred tokens with the graphql client, consider using request_and_wait_for_finalized instead to ensure the tokens are available in the indexer.

public async Task<FaucetReceipt?> RequestAndWait(Address address)

Parameters

address Address

Returns

Task<FaucetReceipt>

Exceptions

SdkFfiException

RequestAndWaitForFinalized(Address, GraphQlClient)

Request gas from the faucet and wait until the request is completed and token is transferred and finalized on the ledger. Returns FaucetReceipt if the request is successful, which contains the list of tokens transferred, and the transaction digest.

This is a convenience method that combines request_and_wait and waiting for the funding transactions to be finalized using the provided GraphQL Client.

public async Task<FaucetReceipt?> RequestAndWaitForFinalized(Address address, GraphQlClient client)

Parameters

address Address

client GraphQlClient

Returns

Task<FaucetReceipt>

Exceptions

SdkFfiException

RequestStatus(String)

Check the faucet request status.

Possible statuses are defined in: BatchSendStatusType

public async Task<BatchSendStatus?> RequestStatus(string id)

Parameters

id String

Returns

Task<BatchSendStatus>

Exceptions

SdkFfiException

NewLocalnet()

Create a new Faucet client connected to a localnet faucet.

public static FaucetClient NewLocalnet()

Returns

FaucetClient