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 ───────────────────────────────────────────────────────────────────╮