Skip to main content

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 Ethereum gateways resides under marlinctl gateway eth. As with all marlinctl commands, the subtree can be incrementally discovered with the --help parameter.

$ sudo marlinctl gateway eth --help

Ethereum Gateway

Usage:
marlinctl gateway eth [command]

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

Flags:
-h, --help help for eth

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 eth [command] --help" for more information about a command.

Create a gateway

Gateways can be created using the create command.

$ sudo marlinctl gateway eth create --help

Create gateway for eth blockchain

Usage:
marlinctl gateway eth 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 eth logs --help

Tail logs for running gateway eth) instances

Usage:
marlinctl gateway eth 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 eth destroy --help

Destroy gateway for eth blockchain

Usage:
marlinctl gateway eth 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