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 │
│ 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 ───────────────────────────────────────────────────────────────────╮
│* -cnp, -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 (-cnp, -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:
╭───────────────────────────────────────────────────────────────────────────╮
│- Community Node 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 -cnp --enable --pubkey aa...│
╰───────────────────────────────────────────────────────╯
╭─────────────────────────────────────────────────────────────────────────╮
(2): pmc provider register --batch -cnp --enable --provider '["pubkey": │
│x"aa...", "name": "foo", "url": "http://foo/api"]' --provider '["pubkey":│
│x"bb...", "name": "bar"]'
╰─────────────────────────────────────────────────────────────────────────╯
╭─────────────────────────────────────────────────────────────────────────╮
(3): pmc provider register --batch -cnp --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 ─────────────────────────────────────────────────────────────╮
-cnp community node 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 community node provider is the most basic and default option if no provider tier is specified.

The community node 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 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.