query
Usage: chr query [OPTIONS] QUERYNAME [ARGS]...
Make a query towards a running node
Node:
Make query/tx towards a test node
-brid, --blockchain-rid TEXT Target Blockchain RID
--cid INT Target Blockchain IID (default: 0)
--api-url TEXT Target api url (default:
http://localhost:7740)
Deployment:
Make query towards a configured deployment
-d, --network TEXT Specify which deployment target to use
-bc, --blockchain TEXT Name of blockchain in deployment configuration
Options:
-s, --settings SETTINGS Alternate path for the project settings file
-h, --help Show this message and exit
Arguments:
QUERYNAME name of the query to make.
ARGS arguments to pass to the query. The dict is passed either as
key-value pairs or as a single dict element.
You can use the query command (chr query
) to test and interact with a chain that's either local or deployed without using a client. You can set a path for the project config file (config.yml
) or specify a different file using --settings
. In addition to that, you can change between a local and deployed chain target with the --deployment
and --local
flags. The flag is --local
by default.
Node
When you start a node, you can see the Blockchain RID as the standard output. An example would look like this:
Blockchain RID: FC17B67D66F6F35A5D8B75ED3F83AE222FB8C8FCA241624F06285150F10C6BAC
.
If you run the node on a different URL than the default http://localhost:7740
, you can use the --api-url
in the config.yml
to specify it.
- To run the query
hello_world
specified in themain.rell
file.
chr query --blockchain-rid <BlockchainRID> hello_world
- If the query has an argument called
foo
, then the query would look like the following for the valuebar
.
chr query --blockchain-rid <BlockchainRID> hello_world "{foo=bar}"
- If you want to pass a dictionary as an argument, you have to separate the argument with
--
to avoid=
incorrect parsing.
chr query hello_world -- {key1=value1, key2=value2}
Deployed
Towards a deployed chain, you can use the same commands as in a local environment, but you need to add a --name
(deployment target) and --blockchain
(name of the chain to query)
instead of the --blockchain-rid
.
chr query --deployment --name testnet --blockchain hello hello_world