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​ |
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.
Method | Type | Description |
| Client | Get the cost of the query in Hbar |
| Client, Duration | The max length of time the sdk will attempt to retry for in the event of repeated busy responses from node(s) |
| Client | Get the cost of a query asynchronously |
Java//Create the query requestAccountBalanceQuery query = new AccountBalanceQuery().setAccountId(accountId);​//Get the cost of the queryHbar queryCost = query.getCost(client);​System.out.println("The account balance query cost is " +queryCost);​//v2.0.0
JavaScript//Create the query requestconst query = new AccountBalanceQuery().setAccountId(accountId);​//Get the cost of the queryconst queryCost = await query.getCost(client);​console.log("The account balance query cost is " +queryCost);​//v2.0.0
Go//Create the query requestquery := hedera.NewAccountBalanceQuery().SetAccountID(newAccountId)​//Get the cost of the querycost, err := query.GetCost(client)​if err != nil {panic(err)}​fmt.Printf("The account balance query cost is: %v\n ", cost.String())​//v2.0.0
Method | Type | Description |
| Client | Get the cost of the query in long representation |
| Client, Consumer<long>, Consumer<HederaThrowable> | Get the cost of a query asynchronously |
Java//Create the query requestAccountBalanceQuery query = new AccountBalanceQuery().setAccountId(accountId);​//Get the cost of the querylong queryCost = query.getCost(client);​System.out.println("The account balance query cost is " +queryCost);​//v1.3.2
JavaScript//Create the query requestconst query = new AccountBalanceQuery().setAccountId(accountId);​//Get the cost of the queryconst queryCost = await query.getCost(client);​console.log("The account balance query cost is " +queryCost);