Query Balances
This guide will cover the following query methods:
blockxd
& Tendermint RPCJSON-RPC
gRPC
blockxd
& Tendermint RPC
blockxd
& Tendermint RPCUpon installation and configuration of the BlockX Daemon, developers can query account balances using blockxd
with the following CLI command:
where:
$BLOCKXADDRESS
is the BlockX address with balances of interest (eg.blockx1...
).(optional)
$COUNTTOTAL
counts the total number of records in all balances to query for.(optional)
$HEIGHT
is the specific height to query state at (can error if node is pruning state).(optional)
$OUTPUT
is the output format (eg.text
).(optional if running local node)
$NODE
is the Tendermint RPC node information is requested from
Details of non-native currencies (ie. not ablockx
) can be queried with the following CLI command:
where $DENOM
is the denomination of the coin (eg. ibc/ED07A3391A1...
).
JSON-RPC
Developers can query account balances of ablockx
using the eth_getBalance
JSON-RPC method in conjunction with curl
:
where:
$ETHADDRESS
is the Etherum hex-address the balance is to be queried from. Note that BlockX addresses$BLOCK
is the block number or block hash (eg."0x0"
). The reasoning for this parameter is due to EIP-1898.(optional if running local node)
$NODE
is the JSON-RPC node information is requested from
Developers can also query account balances of x/erc20
-module registered coins using the eth_call
JSON-RPC method in conjunction with curl
:
where:
$SENDERCONTRACTADDRESS
is the Ethereum hex-address this smart contract call is sent from.$ERCCONTRACTADDRESS
is the Ethereum hex-address of the ERC-20 contract corresponding to the coin denomination being queried.$DATA
is the hash of thebalanceof
method signature and encoded parameters.balanceOf
is a required method in every ERC-20 contract, and the encoded parameter is the address which is having its balance queried. For additional information, see the Ethereum Contract ABI.$BLOCK
is the block number or block hash (eg."0x0"
). The reasoning for this parameter is due to EIP-1898.(optional if running local node)
$NODE
is the JSON-RPC node information is requested from
gRPC
Developers can use grpcurl
with the AllBalances
endpoint to query account balance by address for all denominations:
where:
$BCXADDRESS
is the BlockX address with balances of interest (eg."blockx1..."
).$NODE
is the Cosmos gRPC node information is requested(optional)
$OUTPUT
is the output format (eg.plaintext
).
State can also be queried using gRPC within a Go program. The idea is to create a gRPC connection, then use the Protobuf-generated client code to query the gRPC server.
Last updated