This feature is available in the Hedera JavaScript SDK only. (version >=2.14.0).

The Signer class an interface and is responsible for signing requests.

Interface Signer


getLedgerId()->** LedgerId**

Returns the ledger ID.


Returns the account ID associated with this signer.


Returns the account key.

getNetwork()->[Key:string]: string

Returns the account key.

sign (messages; Uint8Array[])-> Promise<SignerSignature[]>

Sign an arbitrary list of messages.

getAccountBalance()->** Promise<AccountBalance>**

Returns the account balance.

getAccountInfo()->** Promise<AccountInfo>**

Returns the account info.

getAccountRecords()->** Promise<TransactionRecord[]>**

Fetch the account record for the signer's account ID.

signTransaction <T extends Transaction>(transaction:T )->** Promise<T>**

Signs a transaction, returning the signed transaction

NOTE: This method is allowed to mutate the parameter being passed in so the returned transaction is not guaranteed to be a new instance of the transaction.

checkTransaction<T extends Transaction>** ( transaction: T )-> Promise<T>**

Check whether all the required fields are set appropriately. Fields such as the transaction ID's account ID should either be null or be equal to the signer's account ID, and the node account IDs on the request should exist within the signer's network.

populateTransaction<T extends Transaction>** ( transaction: T )-> Promise<T>**

Populate the requests with the required fields. The transaction ID should be constructed from the signer's account ID, and the node account IDs should be set using the signer's network.

call(<RequestT, ResponseT, OutputT>(request: Executable<RequestT, ResponseT, OutputT>)->** Promise <Output>**

Responsible for serializing your request and sending it over the wire to be executed, and then deserializing the response into the appropriate type.

Note: This is a wrapper around the method.

Last updated