deployment
Usage: chr deployment [OPTIONS] COMMAND [ARGS]...
Create and maintain deployments
╭─ Options ───────────────────────────────────────────────────────────────────╮
│ -h, --help Show this message and exit │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ──────────────────────────────────────────────────────────────────╮
│ create Deploy blockchain into container │
│ info Information about a deployed blockchain │
│ inspect Inspect the API of a deployed blockchain │
│ update Update configuration of a deployed blockchain │
│ resume Starts a paused blockchain in a container │
│ pause Pauses a blockchain in a container │
│ remove Removes a blockchain in a container (This action is permanent) │
│ proposal Act on proposals (Experimental) │
│ voterset Interact with votersets (Experimental) │
╰─────────────────────────────────────────────────────────────────────────────╯
deployment create
To deploy your dapp in a container, you use (chr deployment create
):
Usage: chr deployment create [OPTIONS]
Deploy blockchain into container
╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file │
│ -s, --settings=SETTINGS Alternate path for project settings file │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│ --secret=PATH Path to secret file (pubkey/privkey) │
│* -d, --network=TEXT Specify which deployment target to use │
│ -bc, --blockchain=TEXT Name of blockchain to deploy │
│ --no-compression If compression on rell sources should not be done │
│ -y Confirm that this will create a new deployment │
│ -h, --help Show this message and exit │
╰─────────────────────────────────────────────────────────────────────────────╯
The chr deployment create
command reads the deployments
key in the
project config file. For the first deployment towards a target, the
Chromia CLI prompts you with the chains config
you need to add to the project config file. An example of such a prompt looks
something like this:
Add the following to your project settings file
deployments:
testnet:
chains:
my_rell_dapp: x"<BlockchainRID>" #Dapp Blockchain RID
This prompt is your genesis Blockchain RID; you must save this in the config file. This is the identifier for all your following deployments to the chain.
If you already have a deployment and haven't added the chain identifier in your Project Settings file, the command
chr deployment
overrides any previous deployment to the network. That's why saving the genesis Blockchain RID
prompted after the first deployment is important.
If you want to override the state, ignore the chain identifier.
When you deploy, you create a snapshot build in the build/
folder with a timestamp by default. You can change this in
the project config file in compile:target
if you want a different target.
- To deploy a dapp, you can run the following command when
being in the working directory where the
chromia.yml
file presides:
chr deployment create --network testnet --secret .secret
- Otherwise, you can set a path for the
chromia.yml
file or specify a different Project Settings file:
chr deployment create --settings chromia.yml --network testnet --secret .secret
- If you have multiple chains and only want to deploy a specific one, you can write the command like this:
chr deployment create --settings chromia.yml --network testnet --blockchain my_rell_dapp --secret .secret
deployment info
To get information about your dapp, you use (chr deployment info
):
Usage: chr deployment info [OPTIONS]
Information about a deployed blockchain
╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -s, --settings=SETTINGS Alternate path for project settings file │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Chromia Configuration ───────────────────────────── ────────────────────────╮
│ │
│ Use connection configured under deployment from chromia.yml │
│ │
│* -d, --network=TEXT Specify which deployment target to use │
│* -bc, --blockchain=TEXT Name of blockchain to deploy │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Manual ────────────────────────────────────────────────────────────────────╮
│ │
│ Set connection parameters manually │
│ │
│* -brid, --blockchain-rid=TEXT Target Blockchain RID │
│ --api-url=TEXT Target api url │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│ --verbose Show verbose information about nodes │
│ -f, --output-format=(table|JSON) Output format │
│ -h, --help Show this message and exit │
╰─────────────────────────────────────────────────────────────────────────────╯
deployment inspect
To inspect the API of your dapp, you use (chr deployment inspect
):
Usage: chr deployment inspect [OPTIONS]
Inspect the API of a deployed blockchain
╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file │
│ -s, --settings=SETTINGS Alternate path for project settings file │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Node ──────────────────────────────────────────────────────────────────────╮
│ │
│ Target a test node │
│ │
│ -brid, --blockchain-rid=TEXT Target Blockchain RID │
│ --cid=INT Target Blockchain IID │
│ --api-url=TEXT Target api url (default: │
│ http://localhost:7740) │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Deployment ────────────────────────────────────────────────────────────────╮
│ │
│ Use a configured deployment │
│ │
│ -d, --network=TEXT Specify which deployment target to use │
│* -bc, --blockchain=TEXT Name of blockchain in deployment configuration │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│ -f, --output-format=(table|JSON) │
│ Output format │
│ -m, --modules=MODULES Explicitly state which module to inspect (comma │
│ separated) │
│ -l, --list-modules List all module names │
│ --module-args Show module_args │
│ --definitions=VALUE List definitions of this kind (comma separated), │
│ default: all │
│ --signature=VALUE Show the signature of the specified definition and │
│ exit │
│ -h, --help Show this message and exit │
╰─────────────────────────────────────────────────────────────────────────────╯
deployment update
To update your dapp, you use (chr deployment update
):
Usage: chr deployment update [OPTIONS]
Update configuration of a deployed blockchain
╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file │
│ -s, --settings=SETTINGS Alternate path for project settings file │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│ --secret=PATH Path to secret file (pubkey/privkey) │
│* -d, --network=TEXT Specify which deployment target to use │
│ -bc, --blockchain=TEXT Name of blockchain to deploy │
│ --no-compression If compression on rell sources should not be done │
│ --height=INT Deploy configuration at a specific height │
│ --verify-only Verifies blockchain config without sending update │
│ transaction │
│ --skip-verification Skip verification of blockchain config before │
│ sending update transaction │
│ -h, --help Show this message and exit │
╰─────────────────────────────────────────────────────────────────────────────╯
deployment pause
To pause your dapp, you use (chr deployment pause
):
Usage: chr deployment pause [OPTIONS]
Pauses a blockchain in a container
╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file │
│ -s, --settings=SETTINGS Alternate path for project settings file │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│ --secret=PATH Path to secret file (pubkey/privkey) │
│ --description=TEXT Description on why the blockchain is being acted on│
│* -d, --network=TEXT Specify which deployment target to use │
│ -bc, --blockchain=TEXT Name of blockchain to deploy │
│ -h, --help Show this message and exit │
╰─────────────────────────────────────────────────────────────────────────────╯
deployment resume
To start your paused dapp, you use (chr deployment resume
):
Usage: chr deployment resume [OPTIONS]
Starts a paused blockchain in a container
╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file │
│ -s, --settings=SETTINGS Alternate path for project settings file │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│ --secret=PATH Path to secret file (pubkey/privkey) │
│ --description=TEXT Description on why the blockchain is being acted on│
│* -d, --network=TEXT Specify which deployment target to use │
│ -bc, --blockchain=TEXT Name of blockchain to deploy │
│ -h, --help Show this message and exit │
╰─────────────────────────────────────────────────────────────────────────────╯
deployment remove
To remove your dapp, you use (chr deployment remove
):
Usage: chr deployment remove [OPTIONS]
Removes a blockchain in a container (This action is permanent)
╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file │
│ -s, --settings=SETTINGS Alternate path for project settings file │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│ --secret=PATH Path to secret file (pubkey/privkey) │
│ --description=TEXT Description on why the blockchain is being acted on│
│* -d, --network=TEXT Specify which deployment target to use │
│ -bc, --blockchain=TEXT Name of blockchain to deploy │
│ -h, --help Show this message and exit │
╰─────────────────────────────────────────────────────────────────────────────╯
deployment proposal
The deployment proposal command (chr deployment proposal
) comprises sub-commands that manage proposals.
Usage: chr deployment proposal [OPTIONS] COMMAND [ARGS]...
Act on proposals (Experimental)
╭─ Options ─────────────────────────────────────────────────── ────────────────╮
│ -h, --help Show this message and exit │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ──────────────────────────────────────────────────────────────────╮
│ vote Vote on proposals linked to your public key │
│ list List all proposals that you can vote on │
│ info Get information of a given proposal │
│ revoke Revoke/remove a proposal submitted by you │
╰───────────────────────────────────────────────────────────────────── ────────╯
proposal vote
Usage: chr deployment proposal vote [OPTIONS]
Vote on proposals linked to your public key
╭─ Configuration Properties ───────────────── ─────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file │
│ -s, --settings=SETTINGS Alternate path for project settings file │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Deployment ────────────────────────────────────────────────────────────────╮
│ │
│ Use a configured deployment network │
│ │
│* -d, --network=TEXT Specify which deployment target to use │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│ --secret=PATH Path to secret file (pubkey/privkey) │
│* --id=INT Id of the proposal │
│* --accept, --reject Vote action to cast │
│ -h, --help Show this message and exit │
╰─────────────────────────────────────────────────────────────────────────────╯
The vote command (chr deployment proposal vote
) allows you to vote on proposals that are linked to your public key.
proposal list
Usage: chr deployment proposal list [OPTIONS]
List all proposals that you can vote on
╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file │
│ -s, --settings=SETTINGS Alternate path for project settings file │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Deployment ────────────────────────────────────────────────────────────────╮
│ │
│ Use a configured deployment network │
│ │
│* -d, --network=TEXT Specify which deployment target to use │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│ --from=VALUE List proposals from date (YYYY-MM-DD) (default: 1970-01-01) │
│ --to=VALUE List proposals to date (YYYY-MM-DD) (default: 9999-12-31) │
│ --all Include all proposals, including ones you can not vote on │
│ --pending Only include proposals that are still pending │
│ -h, --help Show this message and exit │
╰─────────────────────────────────────────────────────────────────────────────╯
The list command (chr deployment proposal list
) lists all proposals that you can vote on.
proposal info
Usage: chr deployment proposal info [OPTIONS]
Get information of a given proposal
╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file │
│ -s, --settings=SETTINGS Alternate path for project settings file │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Deployment ────────────────────────────────────────────────────────────────╮
│ │
│ Use a configured deployment network │
│ │
│* -d, --network=TEXT Specify which deployment target to use │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│* --id=INT Id of the proposal │
│ -h, --help Show this message and exit │
╰─────────────────────────────────────────────────────────────────────────────╯
The info command (chr deployment proposal info
) shows the information of a given proposal.
proposal revoke
Usage: chr deployment proposal revoke [OPTIONS]
Revoke/remove a proposal submitted by you
╭─ Configuration Properties ──────────────────────────── ──────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file │
│ -s, --settings=SETTINGS Alternate path for project settings file │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Deployment ────────────────────────────────────────────────────────────────╮
│ │
│ Use a configured deployment network │
│ │
│* -d, --network=TEXT Specify which deployment target to use │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│* --id=INT Id of the proposal │
│ --secret=PATH Path to secret file (pubkey/privkey) │
│ -h, --help Show this message and exit │
╰─────────────────────────────────────────────────────────────────────────────╯
The revoke command (chr deployment proposal revoke
) revokes a proposal submitted by you.
deployment voterset
The deployment voterset command (chr deployment voterset
) comprises sub-commands that manage voter sets.
Usage: chr deployment voterset [OPTIONS] COMMAND [ARGS]...
Interact with votersets (Experimental)
╭─ Options ───────────────────────────────────────────────────────────────────╮
│ -h, --help Show this message and exit │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ──────────────────────────────────────────────────────────────────╮
│ info Show information of voter set │
│ update Propose an update of a voter set's members list │
│ list List all voter sets, │
│ add-dapp-provider Add a dapp provider to container │
╰─────────────────────────────────────────────────────────────────────────────╯
voterset info
Usage: chr deployment voterset info [OPTIONS]
Show information of voter set
╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file │
│ -s, --settings=SETTINGS Alternate path for project settings file │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Deployment ────────────────────────────────────────────────────────────────╮
│ │
│ Use a configured deployment network │
│ │
│* -d, --network=TEXT Specify which deployment target to use │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│* -n, --name=TEXT Name of voter set │
│ -h, --help Show this message and exit │
╰──────────────────────────── ─────────────────────────────────────────────────╯
The info command (chr deployment voterset info
) shows the information about a voter set.
voterset update
Usage: chr deployment voterset update [OPTIONS]
Propose an update of a voter set's members list
╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file │
│ -s, --settings=SETTINGS Alternate path for project settings file │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Deployment ────────────────────────────────────────────────────────────────╮
│ │
│ Use a configured deployment network │
│ │
│* -d, --network=TEXT Specify which deployment target to use │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│ --secret=PATH Path to secret file (pubkey/privkey) │
│* -vs, --voter-set=TEXT Name of existing voter set to update │
│ --threshold=INT New threshold │
│ --add-member=VALUE Provider pubkey(s) to add to voter set. Separate │
│ keys with ',' (default: []) │
│ --remove-member=VALUE Provider pubkey(s) to remove from voter set. │
│ Separate keys with ',' (default: []) │
│ --description=TEXT Proposal description │
│ -h, --help Show this message and exit │
╰─────────────────────────────────────────────────────────────────────────────╯
With the update command (chr deployment voterset update
), you can propose an update of a voter sets governor. New
governor must be an existing voter set.
voterset list
Usage: chr deployment voterset list [OPTIONS]
List all voter sets, voterset that owns your container will be named;
container_<container id>_deployer
╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file │
│ -s, --settings=SETTINGS Alternate path for project settings file │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Deployment ──────────────────────────────────────────────────── ────────────╮
│ │
│ Use a configured deployment network │
│ │
│* -d, --network=TEXT Specify which deployment target to use │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│ -h, --help Show this message and exit │
╰─────────────────────────────────────────────────────────────────────────────╯
The list command (chr deployment voterset list
) lists all the voter sets.
voterset add-dapp-provider
Usage: chr deployment voterset add-dapp-provider [OPTIONS]
Add a dapp provider to container
╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file │
│ -s, --settings=SETTINGS Alternate path for project settings file │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Deployment ────────────────────────── ──────────────────────────────────────╮
│ │
│ Use a configured deployment network │
│ │
│* -d, --network=TEXT Specify which deployment target to use │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│ --secret=PATH Path to secret file (pubkey/privkey) │
│ -a, --await / --no-await Wait for transaction to be included in a block │
│ -pk, --pubkey=TEXT The public key of the dApp provider to be added │
│* -cid, --container-id=TEXT Container Identifier to add dapp provider too │
│ -h, --help Show this message and exit │
╰──────────────────────────────────── ─────────────────────────────────────────╯
The add-dapp-provider command (chr deployment voterset add-dapp-provider
) adds a dapp provider to a container.