Skip to main content

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)
╰─────────────────────────────────────────────────────────────────────────────╯

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
note

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.

note

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 │
--url=TEXT Target url │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
--verbose Show verbose information about nodes │
│ -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 ──────────────────────────────────────────────────╮
│ -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 │
--url=TEXT Target url │
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│ -m, --modules=MODULES Explicitly state which module to inspect (Comma │
│ separated)
│ -l, --list-modules List all module names │
│ -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
╰─────────────────────────────────────────────────────────────────────────────╯