tx
Usage: chr tx [OPTIONS] OPNAME [ARGS]...
Make a transaction
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
--secret PATH Path to secret file (pubkey/privkey)
-a, --await Wait for transaction to be included in a block
-nop Adds a nop to the transaction
-h, --help Show this message and exit
Arguments:
OPNAME name of the operation to execute.
ARGS arguments to pass to the operation. (integer: 123) (string: foo,
"bar") (bytearray: will be encoded using the rell notation
x"<myByteArray>" and will initially be interpreted as a hex-string.)
(array: [foo,123]) (dict: {key1=value1,key2=value2})
You can use the tx (transaction) command (chr tx
) in the same way as the query command, but you need to sign it with your key pair.
It can interact with either a local (Node) or deployed chain without the use of a client.
You can set a path for the project config file (config.yml
) or specify a different file with the use of --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. Use the flag -a
or --await
to wait for the confirmation or rejection of the transaction. To make the transaction hash unique, use the - nop
flag if you need to do the same transaction multiple times.
Node
You can see the Blockchain RID of the local node in the sout. An example would look like the following:
Blockchain RID: FC17B67D66F6F35A5D8B75ED3F83AE222FB8C8FCA241624F06285150F10C6BAC
If you are running 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 perform a transaction with the operation
set_name
specified in themain.rell
file.
chr tx --blockchain-rid <BlockchainRID> --secret .secret set_name "string:name->bob"
- If you want to pass a dictionary as an argument, you have to separate the argument with
--
to avoid=
incorrect parsing.
chr tx set_name -- {key1=value1, key2=value2}
Deployed
Towards a deployed chain, you can do the same commands but need to add a --name
(Deployment target) and --blockchain
(Name of the chain to query)
instead of the --blockchain-rid
.
chr tx --deployment --name testnet --blockchain hello --secret .secret set_name "string:name->bob"