Manage using marlinctl

This page assumes that marlinctl is installed already. See here if you have not installed it.

Command tree

The marlinctl command subtree for managing Cosmos gateways resides under marlinctl gateway cosmos. As with all marlinctl commands, the subtree can be incrementally discovered with the --help parameter.

$ sudo marlinctl gateway cosmos --help

Cosmos Gateway

Usage:
  marlinctl gateway cosmos [command]

Available Commands:
  config      Configurations of project set on disk
  create      Create gateway for cosmos blockchain
  destroy     Destroy gateway for cosmos blockchain
  keystore    Create or Destroy keystore
  logs        Tail logs for running gateway (cosmos) instances
  recreate    Recreate end to end gateway (cosmos) instances
  restart     Restart services for gateway (cosmos) instances
  status      Show status of currently running gateway (cosmos) instances
  versions    Show available versions for use

Flags:
  -h, --help   help for cosmos

Global Flags:
      --config string       config file (default is $HOME/.marlin/ctl/state.yaml)
      --loglevel string     marlinctl loglevel (default is INFO) (default "info")
      --registry-sync       forceful registry sync from remote. May be used to check for upgrades.
      --skip-sync           skip registry sync during run
      --skip-update-check   skip update check during run

Use "marlinctl gateway cosmos [command] --help" for more information about a command.

 

Create a gateway

Gateways can be created using the create command.

$ sudo marlinctl gateway cosmos create --help

Create gateway for cosmos blockchain

Usage:
  marlinctl gateway cosmos create [flags]

Flags:
  -b, --bootstrap-addr string            Bridge bootstrap address
  -c, --contracts string                 mainnet/kovan (default "mainnet")
  -d, --discovery-addr string            Bridge discovery address (default "0.0.0.0:22002")
  -h, --help                             help for create
  -i, --instance-id string               instance-id of spawned up resource (default "001")
  -l, --internal-listen-address string   Bridge listen address (default "127.0.0.1:22401")
  -y, --keystore-pass-path string        Keystore pass path (default "")
  -k, --keystore-path string             Keystore Path (default "")
  -p, --pubsub-addr string               Bridge pubsub address (default "0.0.0.0:22000")
  -r, --runtime-args stringToString      runtime arguments while starting up (default [])
  -s, --skip-checksum                    skip checksum verification while starting up binaries
  -x, --version string                   runtime version override

Global Flags:
      --config string       config file (default is $HOME/.marlin/ctl/state.yaml)
      --loglevel string     marlinctl loglevel (default is INFO) (default "info")
      --registry-sync       forceful registry sync from remote. May be used to check for upgrades.
      --skip-sync           skip registry sync during run
      --skip-update-check   skip update check during run
Primary flags

While the following flags are optional for testing the connection between the gateway and the polkadot node, they are required parameters for interacting with the Marlin network.

  • --bootstrap-addr - Address of the bootstrap server used for discovering other nodes in the network.
  • --keystore-path - Path to keystore file. Serves as the identity of the gateway.
  • --keystore-pass-path - Path to text file containing passphrase that can unlock the above keystore file.
Secondary flags
  • --contracts - Contract set used by the gateway for fetching on-chain data. Enables choosing the network that the gateway is a part of (e.g. separate networks for testing or new upgrades). Especially important in the initial phases of the network, where it's expected that clusters will work on a testnet first before transitioning to mainnet upon maturity.

The following flags are useful for customizing the socket addresses used by the gateway in order to prevent any conflicts with other programs on the same system.

  • --discovery-addr - Address used for the discovery protocol to find peers in the Marlin network.
  • --pubsub-addr - Address used for the pubsub protocol, to send and receive message from the Marlin network.
  • --internal-listen-addr - Address used for internal communication between components of the gateway.

 

See logs

Logs can be tailed using the logs command.

$ sudo marlinctl gateway cosmos logs --help

Tail logs for running gateway (cosmos) instances

Usage:
  marlinctl gateway cosmos logs [flags]

Flags:
  -h, --help                 help for logs
  -i, --instance-id string   instance-id of resource to log (default "001")
  -n, --last int             number of last lines to tail in logfile (default 100)

Global Flags:
      --config string       config file (default is $HOME/.marlin/ctl/state.yaml)
      --loglevel string     marlinctl loglevel (default is INFO) (default "info")
      --registry-sync       forceful registry sync from remote. May be used to check for upgrades.
      --skip-sync           skip registry sync during run
      --skip-update-check   skip update check during run
Primary flags
  • --last - Number of lines from the end to tail

 

Destroy a gateway

Gateways can be destroyed using the destroy command.

$ sudo marlinctl gateway cosmos destroy --help

Destroy gateway for cosmos blockchain

Usage:
  marlinctl gateway cosmos destroy [flags]

Flags:
  -h, --help                 help for destroy
  -i, --instance-id string   instance-id of resource to destroy (default "001")

Global Flags:
      --config string            config file (default is $HOME/.marlin/ctl/state.yaml)
      --forceful-registry-sync   forceful registry sync. Do not use if you don't know what this is for.
      --loglevel string          marlinctl loglevel (default is INFO) (default "info")
      --skip-registry-sync       skip registry sync during run
      --skip-update-check        skip update check during run