diff --git a/app/cmd/cli/node.go b/app/cmd/cli/node.go index 6e5d7722f..f9d9eeeeb 100644 --- a/app/cmd/cli/node.go +++ b/app/cmd/cli/node.go @@ -3,9 +3,10 @@ package cli import ( "encoding/json" "fmt" + "strconv" + "github.com/pokt-network/pocket-core/app" "github.com/spf13/cobra" - "strconv" ) func init() { @@ -17,8 +18,22 @@ func init() { var nodesCmd = &cobra.Command{ Use: "nodes", Short: "node management", - Long: `The node namespace handles all node related interactions, -from staking and unstaking; to unjailing.`, + Long: `The node namespace handles all node related interactions, from staking and unstaking; to unjailing. + +--- + +Operator Address (i.e. Non-Custodial Address) can do the following: +- Submit Block, Claim & Proof Txs + +Output Address (i.e. Custodial Address) can do the following: +- Receive earned rewards +- Receive funds after unstaking + +Both Operator and Output Addresses can do the following: +- Submit Stake, EditStake, Unstake, Unjail Txs + +--- +`, } func init() { diff --git a/doc/specs/cli/node.md b/doc/specs/cli/node.md index 8500716e7..0f7fe14a6 100644 --- a/doc/specs/cli/node.md +++ b/doc/specs/cli/node.md @@ -4,6 +4,27 @@ description: Functions for Node management. # Nodes Namespace +Terminology: + +- `Operator Address`: `Non-Custodial Address` aka `Node Runner` aka `Devops` +- `Output Address`: `Custodial Address` aka `Deposit Owner` aka `Reward Earner` + +Basic Rules + +1. The `Operator Address` is the **only** valid signer for: + 1. Block Tx + 2. Claim & Proof Tx +2. `Operator` and `Output` Address are valid signers for: + 1. Stake Tx + 2. EditStake Tx + 3. Unstake Tx + 4. Unjail Tx +3. The `Output Address` is where: + 1. Rewards are sent + 2. Unstaked funds are sent (after unstaking) +4. `Operator` and `Output` Address **cannot** be edited once staked + 1. Requires unstaking to change either one + ## Stake a Node / Update Stake (Custodial) ```text @@ -21,16 +42,15 @@ the parameter, just enter the current parameter value \(the same one you entered Arguments: -* ``: Target Address to stake. -* ``: The amount of uPOKT to stake. Must be higher than the current value of the `StakeMinimum` parameter, +- ``: Target Address to stake. +- ``: The amount of uPOKT to stake. Must be higher than the current value of the `StakeMinimum` parameter, found [here](https://docs.pokt.network/learn/protocol-parameters/#stakeminimum). -* ``: A comma separated list of RelayChain Network Identifiers. Find the RelayChain Network +- ``: A comma separated list of RelayChain Network Identifiers. Find the RelayChain Network Identifiers [here](https://docs.pokt.network/supported-blockchains/). -* ``: The Service URI Applications will use to communicate with Nodes for Relays. -* ``: The Pocket chain identifier; "mainnet" or "testnet". -* ``: An amount of uPOKT for the network. -* ``: true or false depending if non-custodial upgrade is activated. - +- ``: The Service URI Applications will use to communicate with Nodes for Relays. +- ``: The Pocket chain identifier; "mainnet" or "testnet". +- ``: An amount of uPOKT for the network. +- ``: true or false depending if non-custodial upgrade is activated. Example output: @@ -54,16 +74,16 @@ the parameter, just enter the current parameter value \(the same one you entered Arguments: -* ``: operatorAddress is the only valid signer for blocks & relays. -* ``: outputAddress is where reward and staked funds are directed. -* ``: The amount of uPOKT to stake. Must be higher than the current value of the `StakeMinimum` parameter, +- ``: operatorAddress is the only valid signer for blocks & relays. +- ``: outputAddress is where reward and staked funds are directed. +- ``: The amount of uPOKT to stake. Must be higher than the current value of the `StakeMinimum` parameter, found [here](https://docs.pokt.network/learn/protocol-parameters/#stakeminimum). -* ``: A comma separated list of RelayChain Network Identifiers. Find the RelayChain Network +- ``: A comma separated list of RelayChain Network Identifiers. Find the RelayChain Network Identifiers [here](https://docs.pokt.network/supported-blockchains/). -* ``: The Service URI Applications will use to communicate with Nodes for Relays. -* ``: The Pocket chain identifier; "mainnet" or "testnet". -* ``: An amount of uPOKT for the network. -* ``: true or false depending if non custodial upgrade is activated. +- ``: The Service URI Applications will use to communicate with Nodes for Relays. +- ``: The Pocket chain identifier; "mainnet" or "testnet". +- ``: An amount of uPOKT for the network. +- ``: true or false depending if non custodial upgrade is activated. Example output: @@ -82,11 +102,11 @@ the `` account passphrase. Arguments: -* ``: Target staked operator address. -* ``: Signer address. -* ``: The Pocket chain identifier; "mainnet" or "testnet". -* ``: An amount of uPOKT for the network. -* ``: true or false depending if non custodial upgrade is activated. +- ``: Target staked operator address. +- ``: Signer address. +- ``: The Pocket chain identifier; "mainnet" or "testnet". +- ``: An amount of uPOKT for the network. +- ``: true or false depending if non custodial upgrade is activated. Example output: @@ -105,15 +125,14 @@ user for the `` account passphrase. Arguments: -* ``: Target jailed operator address. -* ``: Signer address. -* ``: The Pocket chain identifier; "mainnet" or "testnet". -* ``: An amount of uPOKT for the network. -* ``: true or false depending if non custodial upgrade is activated. +- ``: Target jailed operator address. +- ``: Signer address. +- ``: The Pocket chain identifier; "mainnet" or "testnet". +- ``: An amount of uPOKT for the network. +- ``: true or false depending if non custodial upgrade is activated. Example output: ```text Transaction submitted with hash: ``` -