Queries

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

​AccountBalanceQuery​

​ConsensusTopicInfoQuery​

​TokenBalanceQuery​

​FileContentsQuery​

​ContractCallQuery​

​AccountInfoQuery​

​

​TokenInfoQuery​

​FileInfoQuery​

​ContractByteCodeQuery​

Get Query Cost

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.

V2
V1
V2

Method

Type

Description

getCost(<client>)

Client

Get the cost of the query in Hbar

getCost(<client, timeout>)

Client, Duration

The max length of time the sdk will attempt to retry for in the event of repeated busy responses from node(s)

getCostAsync(<client>)

Client

Get the cost of a query asynchronously

Java
//Create the query request
AccountBalanceQuery query = new AccountBalanceQuery()
.setAccountId(accountId);
​
//Get the cost of the query
Hbar queryCost = query.getCost(client);
​
System.out.println("The account balance query cost is " +queryCost);
​
//v2.0.0
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);
​
//v2.0.0
Go
//Create the query request
query := hedera.NewAccountBalanceQuery().
SetAccountID(newAccountId)
​
//Get the cost of the query
cost, err := query.GetCost(client)
​
if err != nil {
panic(err)
}
​
fmt.Printf("The account balance query cost is: %v\n ", cost.String())
​
//v2.0.0
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

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
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);

​