Queries are requests that do not require network consensus. Queries are processed only by the single node the request is sent to. Below is a list of network queries by service.
Cryptocurrency Accounts | Consensus | Tokens | File Service | Smart Contracts | Schedule Service |
---|---|---|---|---|---|
AccountBalanceQuery | TopicInfoQuery | TokenBalanceQuery | FileContentsQuery | ContractCallQuery | ScheduleInfoQuery |
AccountInfoQuery | TopicMessageQuery | TokenInfoQuery | FileInfoQuery | ContractByteCodeQuery |
A query that returns the cost of a query prior to submitting the query to network node for processing. If the cost of the query greater than the default max query payment (1 hbar) you can use setMaxQueryPayment(<hbar>)
to change the default.
{% tabs %} {% tab title="V1" %}
Method | Type | Description |
---|---|---|
getCost(<client>) |
Client | Get the cost of the query in long representation |
getCostAsync(<client, withCost, onError>) |
Client, Consumer<long>, Consumer<HederaThrowable> | Get the cost of a query asynchronously |
{% code title="Java" %}
//Create the query request
AccountBalanceQuery query = new AccountBalanceQuery()
.setAccountId(accountId);
//Get the cost of the query
long queryCost = query.getCost(client);
System.out.println("The account balance query cost is " +queryCost);
//v1.3.2
{% endcode %}
{% code title="JavaScript" %}
//Create the query request
const query = new AccountBalanceQuery()
.setAccountId(accountId);
//Get the cost of the query
const queryCost = await query.getCost(client);
console.log("The account balance query cost is " +queryCost);
{% endcode %} {% endtab %} {% endtabs %}