Skip to main content

provider

Usage: pmc provider [OPTIONS] COMMAND [ARGS]...

Provider commands

╭─ Options ───────────────────────────────────────────────────────────────────╮
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ──────────────────────────────────────────────────────────────────╮
│ info Show provider information │
│ quotas List provider quotas │
quota Propose provider quota
│ nodes List nodes by provider │
│ list List all providers │
│ register Register new provider with given pubkey │
enable Propose enabling an existing provider │
│ promote Gives a provider access to add signer nodes to │
│ clusters │
│ disable Propose disabling an existing provider │
│ transfer-action-points Transfer some of your action points to another │
│ provider │
│ blockchain-auth Make it possible to use an operation from another │
│ blockchain to authenticate this provider. │
│ key Manage provider keys │
│ update Update provider information │
╰─────────────────────────────────────────────────────────────────────────────╯

The provider command (pmc provider) consists of sub-commands used to manage providers.

provider info

Usage: pmc provider info [OPTIONS]

Show provider information

╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file
│ -s, --settings=SETTINGS Alternate path for project settings file
│ --lookup-brid Ignore any 'brid' property in configuration file, │
│ always perform lookup │
--network=TEXT Target network to make requests to (if chromia.yml│
│ is configured)
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│ -pk, --pubkey=VALUE Public key │
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯

The info command (pmc provider info) shows a provider's name, pubkey, provider tier, action points and nodes. It also indicates whether the provider is a system provider, is active, and the cluster it belongs to.

provider quotas

Usage: pmc provider quotas [OPTIONS]

List provider quotas

╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file
│ -s, --settings=SETTINGS Alternate path for project settings file
│ --lookup-brid Ignore any 'brid' property in configuration file, │
│ always perform lookup │
--network=TEXT Target network to make requests to (if chromia.yml│
│ is configured)
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯

The quotas command (pmc provider quotas) shows the provider's capacity. For example, it shows the maximum number of daily actions, nodes, and containers.

provider quota

Usage: pmc provider quota [OPTIONS]

Propose provider quota

╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file
│ -s, --settings=SETTINGS Alternate path for project settings file
│ --lookup-brid Ignore any 'brid' property in configuration file, │
│ always perform lookup │
--network=TEXT Target network to make requests to (if chromia.yml│
│ is configured)
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│* -dp, -np, -sp Provider tier │
│* -ma, -mc, -mn Provider quota type
│* -v, --value=INT quota value │
--description=TEXT Proposal description │
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯

The quota command (pmc provider quota) proposes change to the provider's quota. You can specify the provider tier (-dp, -np, -sp), quota type (-ma, -mc, -mn), quota value (-v), and provide an optional description (--description).

provider nodes

Usage: pmc provider nodes [OPTIONS]

List nodes by provider

╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file
│ -s, --settings=SETTINGS Alternate path for project settings file
│ --lookup-brid Ignore any 'brid' property in configuration file, │
│ always perform lookup │
--network=TEXT Target network to make requests to (if chromia.yml│
│ is configured)
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│ -pk, --pubkey=VALUE Public key │
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯

The nodes command (pmc provider nodes) lists all the nodes a provider is hosting.

provider list

Usage: pmc provider list [OPTIONS]

List all providers

╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file
│ -s, --settings=SETTINGS Alternate path for project settings file
│ --lookup-brid Ignore any 'brid' property in configuration file, │
│ always perform lookup │
--network=TEXT Target network to make requests to (if chromia.yml│
│ is configured)
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│ -i, --interactive Prompt for item to show details for
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯

The list command (pmc provider list) lists all providers in a network.

provider register

Usage: pmc provider register [OPTIONS]

Register new provider with given pubkey

There are three tiers of providers: ``` - Dapp Provider: Basic provider, can
deploy dapps and add nodes that replicates blockchains (replica) (default) -
Node Provider: Can add block builder nodes - System Provider: System level
permissions and can add node to the system cluster ```

Examples: ``` (1): pmc provider register -dp --enable --pubkey aa... ``` ```
(2): pmc provider register --batch -dp --enable --provider '["pubkey":
x"aa...", "name": "foo", "url": "http://foo/api"]' --provider '["pubkey":
x"bb...", "name": "bar"]' ``` ``` (3): pmc provider register --batch -dp
--enable, where providers will be load from `providers.properties` file:
provider=["pubkey": x"aa...", "name": "foo", "url":
"http://foo/api"];["pubkey": x"bb...", "name": "bar", "url":
"http://bar/api"] provider=["pubkey": x"cc...", "url": "http://foobar/api"]

╭─ Configuration Properties ──────────────────────────────────────────────────╮ │ -cfg, --config=CONFIG Alternate path for client configuration file │ │ -s, --settings=SETTINGS Alternate path for project settings file │ │ --lookup-brid Ignore any 'brid' property in configuration file, │ │ always perform lookup │ │ --network=TEXT Target network to make requests to (if chromia.yml│ │ is configured) │ ╰─────────────────────────────────────────────────────────────────────────────╯ ╭─ Provider tier ─────────────────────────────────────────────────────────────╮ │ -dp dapp provider │ │ -np node provider │ │ -sp system provider │ ╰─────────────────────────────────────────────────────────────────────────────╯ ╭─ Provider state ────────────────────────────────────────────────────────────╮ │ -e, --enable enable provider │ │ -d, --disable disable provider │ ╰─────────────────────────────────────────────────────────────────────────────╯ ╭─ Options ───────────────────────────────────────────────────────────────────╮ │ -pk, --pubkey=VALUE Public key to register as provider │ │ --batch Allows to add a batch of providers with --provider │ │ (see examples) │ │* --provider=VALUE Multiple objects to register as providers in --batch │ │ mode (comma delimited list of objects, see examples) │ │ --description=TEXT Proposal description │ │ -h, --help Show this message and exit │ ╰─────────────────────────────────────────────────────────────────────────────╯

With the register command (pmc provider register), you can add a provider to the network. There are three different kinds of provider tiers. A dapp provider is the most basic and default option if no provider tier is specified.

The dapp provider can deploy dapps and add nodes that replicate blockchains, and the nodes aren't able to build blocks for blockchains.

The second kind of provider is the node provider. A node provider can add block-building nodes. Node providers have to be enabled by letting other providers vote, the proposal can be created by using the option --enable.

The last tier is system provider, which is providers with system-level permissions. System-level permissions mean participation in voting for updates to management chains. A system provider can, for instance, add proposals to add nodes to the system cluster.

Example usage:

  • Add a provider as a node provider, which also creates a proposal to enable this provider.
pmc provider register --pubkey <pub-key> -np --enable

provider enable

Usage: pmc provider enable [OPTIONS]

Propose enabling an existing provider

╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file
│ -s, --settings=SETTINGS Alternate path for project settings file
│ --lookup-brid Ignore any 'brid' property in configuration file, │
│ always perform lookup │
--network=TEXT Target network to make requests to (if chromia.yml│
│ is configured)
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│* -pk, --pubkey=VALUE Public key │
--description=TEXT Proposal description │
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯

With the enable command (pmc provider enable), it's possible to enable an existing provider. Enables means that a proposal of accepting the node provider is created for other providers to vote on. When the provider is enabled, it's able to add block-building nodes.

provider promote

Usage: pmc provider promote [OPTIONS]

Gives a provider access to add signer nodes to clusters

╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file
│ -s, --settings=SETTINGS Alternate path for project settings file
│ --lookup-brid Ignore any 'brid' property in configuration file, │
│ always perform lookup │
--network=TEXT Target network to make requests to (if chromia.yml│
│ is configured)
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│* -pk, --pubkey=VALUE Public key of provider to promote │
--enable Adds voting to enable provider if promoting to node
│ provider │
--system Proposes this provider as a system provider │
--description=TEXT Proposal description │
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯

The promote command (pmc provider promote) promotes a provider to a higher provider tier.

provider disable

Usage: pmc provider disable [OPTIONS]

Propose disabling an existing provider

╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file
│ -s, --settings=SETTINGS Alternate path for project settings file
│ --lookup-brid Ignore any 'brid' property in configuration file, │
│ always perform lookup │
--network=TEXT Target network to make requests to (if chromia.yml│
│ is configured)
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│* -pk, --pubkey=VALUE Public key │
--description=TEXT Proposal description │
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯

The disable command (pmc provider disable) proposes that another provider should be disabled in the network.

provider transfer-action-points

Usage: pmc provider transfer-action-points [OPTIONS]

Transfer some of your action points to another provider

╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file
│ -s, --settings=SETTINGS Alternate path for project settings file
│ --lookup-brid Ignore any 'brid' property in configuration file, │
│ always perform lookup │
--network=TEXT Target network to make requests to (if chromia.yml│
│ is configured)
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│* -pk, --pubkey=VALUE Public key │
│* -a, --amount=INT number of points to transfer │
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯

The transfer-action-points command (pmc provider transfer-action-points) transfers some of your action points to another provider.

provider blockchain-auth

Usage: pmc provider blockchain-auth [OPTIONS]

Make it possible to use an operation from another blockchain to authenticate
this provider.

Note: This will disable normal authentication, and you will no longer be able
to access the provider as before. This can only be reverted with blockchain
authentication.

╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file
│ -s, --settings=SETTINGS Alternate path for project settings file
│ --lookup-brid Ignore any 'brid' property in configuration file, │
│ always perform lookup │
--network=TEXT Target network to make requests to (if chromia.yml│
│ is configured)
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│* -brid, --blockchain-rid=VALUE Blockchain RID │
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯

The blockchain-auth command (pmc provider blockchain-auth) allows using an operation from another blockchain to authenticate a provider.

provider key

Usage: pmc provider key [OPTIONS] COMMAND [ARGS]...

Manage provider keys

╭─ Options ───────────────────────────────────────────────────────────────────╮
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ──────────────────────────────────────────────────────────────────╮
│ list List all keys used by provider to sign transactions │
add Add a key to be used for signing provider transactions │
│ revoke Revoke a provider key │
│ threshold Set key threshold which controls the number of keys necessary to│
│ sign transactions for a provider. │
╰─────────────────────────────────────────────────────────────────────────────╯

The key command (pmc provider key) manages provider keys .

provider key list

Usage: pmc provider key list [OPTIONS]

List all keys used by provider to sign transactions

╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file
│ -s, --settings=SETTINGS Alternate path for project settings file
│ --lookup-brid Ignore any 'brid' property in configuration file, │
│ always perform lookup │
--network=TEXT Target network to make requests to (if chromia.yml│
│ is configured)
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│ -pk, --pubkey=VALUE Public key │
│ -a, --all List all providers keys │
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯

The key list command (pmc provider key list) lists all keys that are used by the provider to sign transactions.

provider key add

Usage: pmc provider key add [OPTIONS]

Add a key to be used for signing provider transactions

╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file
│ -s, --settings=SETTINGS Alternate path for project settings file
│ --lookup-brid Ignore any 'brid' property in configuration file, │
│ always perform lookup │
--network=TEXT Target network to make requests to (if chromia.yml│
│ is configured)
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│* -pk, --pubkey=VALUE Pubkey to be added to provider │
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯

The key add command (pmc provider key add) adds a key to be used for signing provider transactions.

provider key revoke

Usage: pmc provider key revoke [OPTIONS]

Revoke a provider key

╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file
│ -s, --settings=SETTINGS Alternate path for project settings file
│ --lookup-brid Ignore any 'brid' property in configuration file, │
│ always perform lookup │
--network=TEXT Target network to make requests to (if chromia.yml│
│ is configured)
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│* -pk, --pubkey=VALUE Pubkey to be revoked from provider │
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯

The key revoke command (pmc provider key revoke) revokes a provider key.

provider key threshold

Usage: pmc provider key threshold [OPTIONS]

Set key threshold which controls the number of keys necessary to sign
transactions for a provider.

╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file
│ -s, --settings=SETTINGS Alternate path for project settings file
│ --lookup-brid Ignore any 'brid' property in configuration file, │
│ always perform lookup │
--network=TEXT Target network to make requests to (if chromia.yml│
│ is configured)
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│* -t, --threshold=INT 0: supermajority of voters, specifically `n - (n - 1)
│ / 3` (which is usually around 67%) -1: simple majority│
│ positive number: that many keys required │
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯

The key threshold command (pmc provider key threshold) sets a key threshold that controls the number of keys that are necessary to sign transactions for a provider.

provider update

Usage: pmc provider update [OPTIONS]

Update provider information

╭─ Configuration Properties ──────────────────────────────────────────────────╮
│ -cfg, --config=CONFIG Alternate path for client configuration file
│ -s, --settings=SETTINGS Alternate path for project settings file
│ --lookup-brid Ignore any 'brid' property in configuration file, │
│ always perform lookup │
--network=TEXT Target network to make requests to (if chromia.yml│
│ is configured)
╰─────────────────────────────────────────────────────────────────────────────╯
╭─ Options ───────────────────────────────────────────────────────────────────╮
│* -n, --name=TEXT Provider name │
--url=TEXT Provider url │
│ -h, --help Show this message and exit
╰─────────────────────────────────────────────────────────────────────────────╯

The update command (pmc provider update) updates information about a provider, such as the provider's name and URL.