Skip to content

Commit 0bb84a7

Browse files
jpe442Josh EarlenbaughMichaelTrestman
authored
Copy edits for btcli permissions guide. (#541)
* Some edits. * Added whitespace so I could comment on the line in the PR. * Fixed ambiguous 'this' phrasing * Typo * Update docs/btcli-permissions.md Co-authored-by: Michael Trestman <[email protected]> * Update docs/btcli-permissions.md Co-authored-by: Michael Trestman <[email protected]> * Update docs/btcli-permissions.md Co-authored-by: Michael Trestman <[email protected]> * Update docs/btcli-permissions.md Co-authored-by: Michael Trestman <[email protected]> * Fixed bullet points on page to be consistent. --------- Co-authored-by: Josh Earlenbaugh <[email protected]> Co-authored-by: Michael Trestman <[email protected]>
1 parent d70c483 commit 0bb84a7

File tree

1 file changed

+31
-29
lines changed

1 file changed

+31
-29
lines changed

docs/btcli-permissions.md

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -25,19 +25,19 @@ Interacting with Bittensor generally falls into one of three levels of security,
2525

2626
The workstations you use to do this work can be referred to as a permissionless workstation (requiring neither private key), a coldkey workstation or a hotkey workstation, depending on which private key is provisioned.
2727

28-
1. A **permissionless workstation** has only coldkey *public keys* on it. which are sufficient for viewing all public information about a wallet, such as TAO and alpha stake balances. Information about subnets, miners, and validators can be viewed without introducing the security risk of initializing your private keys on a device.
28+
1. A **permissionless workstation** has only coldkey *public keys* on it. Public keys are sufficient for viewing all information about a wallet, such as TAO and alpha stake balances. Information about wallets, subnets, miners, and validators can and should be viewed without initializing your private keys on a device, to avoid the security risk of compromising your keys.
2929

3030
:::tip coldkey workstation security
3131
See [Permissionless workstation](./getting-started/coldkey-hotkey-security#permissionless-workstation)
3232
:::
3333

34-
1. A **coldkey workstation** contains coldkey in the `wallet_path`. For any coldkey associated with mainnet TAO, the coldkey workstation should be held to the highest possible security standards.
34+
1. A **coldkey workstation** contains one or more coldkey private key in the `wallet_path`. For any coldkey associated with mainnet TAO, the coldkey workstation should be held to the highest possible security standards.
3535

3636
:::tip coldkey workstation security
3737
See [Coldkey workstation](./ getting-started/coldkey-hotkey-security#coldkey-workstation)
3838
:::
3939

40-
1. **A hotkey workstation**, which is generally a servers used for mining or validation, contains a hotkey private key in the `wallet_path` in the `btcli config`, as well as a coldkey public key for the corresponding coldkey. Compromised hotkeys can damage your reputation if they are used to maliciously submit false weights (if you are a validator), or bad work as a miner. However, ownership of TAO or alpha stake can only be transferred with a coldkey, and a leaked hotkey can be swapped using the coldkey; therefore hotkey leaks are far less dangerous than coldkey leaks.
40+
1. **A hotkey workstation**which is generally a server used for mining or validationcontains a hotkey private key in the `wallet_path` located in the `btcli config`, as well as a coldkey public key for the corresponding coldkey. Compromised hotkeys can damage your reputation if they are used to maliciously to submit inaccurate weights as a validator, or bad work as a miner. However, ownership of TAO or alpha stake can only be transferred with a coldkey, and a leaked hotkey can be swapped using the coldkey; therefore hotkey leaks are far less dangerous than coldkey leaks.
4141

4242
:::tip hotkey workstation
4343
See [Hotkey workstation security](./getting-started/coldkey-hotkey-security#hotkey-workstation)
@@ -46,7 +46,7 @@ The workstations you use to do this work can be referred to as a permissionless
4646
## Requirements for `btcli` functions
4747
### Coldkey
4848

49-
Your primary, fully privileged key; important for all users. Should be handled on a maximum security **coldkey workstation** only, to avoid catastrophic loss or malicious actions if compromised.
49+
Your coldkey is your primary, fully privileged key; important for all users. This key should be handled on a maximum security **coldkey workstation** only, to avoid catastrophic loss or malicious actions if compromised.
5050

5151
See [Coldkey and Hotkey Workstation Security](../getting-started/coldkey-hotkey-security).
5252

@@ -73,9 +73,9 @@ Required for:
7373

7474
### Available liquidity
7575

76-
Some operations require a TAO balance or alpha stake balance.
76+
Some operations require a TAO balance or alpha stake balance to execute.
7777

78-
- Transfers of TAO will fail if you lack the specified amount
78+
- Transfers of TAO fail if you lack the specified amount
7979
- Staking and unstaking operations fail if they specify more than the owner has
8080
- Registering a hotkey on a subnet to mine or validate has a fee that can be paid with TAO or proof-of-work.
8181
- Creating a subnet requires a fee, which is computed dynamically. The price to create a subnet doubles when someone creates a subnet, and then gradually decreases. This system is designed as a kind of distributed auction, where price is determined by what people are willing to pay given the uncertain estimation of what others are willing to pay.
@@ -96,7 +96,7 @@ The `btcli config ...` commands are used to configure `btcli`, including:
9696
- selecting the targeted network (`finney` a.k.a. mainnet or `test` for test network)
9797
- setting the directory where your Bittensor wallet coldkeys and/or hotkeys are stored
9898

99-
These commands don't require any permissions to run. Rather, you will run these commands on all `btcli` workstations to initialize them.
99+
These commands don't require any permissions to run. Rather, you run these commands on all `btcli` workstations to initialize them.
100100

101101
See: [Coldkey and Hotkey Workstation Security](./getting-started/coldkey-hotkey-security)
102102

@@ -120,36 +120,38 @@ See: [Coldkey and Hotkey Workstation Security](./getting-started/coldkey-hotkey-
120120

121121
### `wallet`
122122

123-
Wallet subcommands have a variety of uses and must be run on all different kinds of workstation.
123+
`wallet` subcommands have a variety of uses and must be run on all different kinds of workstation.
124124

125-
This command is required to provision keys to `btcli`, so it can access your wallet. This is essentially the equivalent of logging in/authentication. This is true for both coldkeys (which all users require), and hotkeys (required only by miners and validators, and for advanced functions).
125+
The `wallet` command is required to provision keys to `btcli`, so it can access your wallet. This is essentially the equivalent of logging in/authentication. This is true for both coldkeys, which all users require, and hotkeys, which are required only by miners and validators as well as for advanced functions.
126126

127127
:::tip mind your keys
128128
See: [Coldkey and Hotkey Workstation Security](./getting-started/coldkey-hotkey-security)
129129
:::
130130

131131
#### Provisioning keys
132132

133-
1. **`btcli wallet regen-coldkeypub`**: Initializes a wallet for a **permissionless workstation** with a public key only. This allows you to read all information about your wallet, which is public information, but not to sign any transactions, hence not to make any *changes* to the state of the blockchain, including any of your balances or stakes.
133+
1. **`btcli wallet regen-coldkeypub`**: This initializes a wallet for a **permissionless workstation** with a public key only. It allows you to read all information about your wallet, which is public information. However, it doesn't allow you to sign any transactions and therefore doesn't allow you to make any *changes* to the state of the blockchain, including any of your balances or stakes.
134134

135135
1. **`new coldkey`** is used to initialize a coldkey workstation using a newly created *seed phrase*. This is a high security risk operation due to the inherent risk of handling the seed phrase.
136+
136137
1. **`regen coldkey`** is used to initialize a coldkey workstation using a pre-existing wallet's *seed phrase*. This is a high security risk operation due to the inherent risk of handling the seed phrase.
137138

138139
1. **`new hotkey`** is used to initialize a hotkey workstation using a newly created *seed phrase*. This is a high security risk operation due to the inherent risk of handling the seed phrase. Hotkeys should be created on secure coldkey workstation and then carefully provisioned to working nodes for mining and validation.
140+
139141
1. **`regen hotkey`** is used to initialize a hotkey workstation using a pre-existing wallet's *seed phrase*. This is a high security risk operation due to the inherent risk of handling the seed phrase.
140142

141143
#### Permissionless operations
142144

143-
- **`btcli wallet balance`**: Displays wallet balance
145+
- **`btcli wallet balance`**: Displays a wallet balance.
144146
- **`btcli wallet overview`**: Displays a wallet overview.
145147

146148
#### Operations requiring coldkey private key:
147149

148-
- **`swap-hotkey`**: rotate a hotkey coldkey owned by the coldkey
149-
- **`new-hotkey`**: create a new hotkey owned by the coldkey
150-
- **`transfer`**: transfer TAO to another coldkey
151-
- **`set-identity`**: set the coldkey's public identity information
152-
- **`sign`(with coldkey)**: sign a message with the coldkey
150+
- **`swap-hotkey`** rotates a hotkey coldkey owned by the coldkey.
151+
- **`new-hotkey`** creates a new hotkey owned by the coldkey.
152+
- **`transfer`** transfers TAO to another coldkey.
153+
- **`set-identity`** sets the coldkey's public identity information.
154+
- **`sign`(with coldkey)** signs a message with the coldkey.
153155

154156
#### Operations requiring hotkey private key:
155157
- **`sign`** (with hotkey): sign a message with the hotkey
@@ -281,16 +283,16 @@ See: [Coldkey and Hotkey Workstation Security](./getting-started/coldkey-hotkey-
281283

282284
#### Read commands (permissionless)
283285

284-
- **`get`**: (same as `btcli subnet hyperparameters`), displays hyperparameters.
285-
- **`proposals`**: displays proposals currently before the senate.
286-
- **`senate`**: displays current senators.
287-
- **`get-take`**: shows the validator take of a given validator.
286+
- **`get`** (same as `btcli subnet hyperparameters`), displays hyperparameters.
287+
- **`proposals`** displays proposals currently before the senate.
288+
- **`senate`** displays current senators.
289+
- **`get-take`** shows the validator take of a given validator.
288290

289291
#### Write commands (require coldkey)
290292

291-
- **`set`**: sets the hyperparameters for a subnet (requires the coldkey of the subnet creator).
292-
- **`set-take`**: sets the validator take for a validator (requires the validator's coldkey).
293-
- **`senate-vote`**: votes on a proposal before the senate (requres a coldkey with senate permissions).
293+
- **`set`** sets the hyperparameters for a subnet (requires the coldkey of the subnet creator).
294+
- **`set-take`** sets the validator take for a validator (requires the validator's coldkey).
295+
- **`senate-vote`** votes on a proposal before the senate (requres a coldkey with senate permissions).
294296

295297
<details>
296298
<summary>`btcli sudo`</summary>
@@ -321,11 +323,11 @@ See: [Coldkey and Hotkey Workstation Security](./getting-started/coldkey-hotkey-
321323

322324
#### Read commands (permissionless)
323325

324-
- **`list`**: Lists subnets.
325-
- **`show` alias `metagraph`**: Displays info about miner and validator activity on the subnet.
326-
- **`hyperparameters`**: Shows configuration of a specific subnet.
327-
- **`price`**: Displays a graph of alpha token prices of subnets over time.
328-
- **`burn_cost`**: Shows current fee to create subnet.
326+
- **`list`** lists subnets.
327+
- **`show` alias `metagraph`** displays info about miner and validator activity on the subnet.
328+
- **`hyperparameters`** shows configuration of a specific subnet.
329+
- **`price`** displays a graph of alpha token prices of subnets over time.
330+
- **`burn_cost`** shows current fee to create subnet.
329331

330332
#### Write commands (require coldkey)
331333

@@ -399,4 +401,4 @@ To set weights with `commit`, a validator must meet several requirements. See [R
399401
### `utils`
400402

401403
#### `btcli utils convert`
402-
This is a convenience command for performing conversions between minimal units (RAO) and TAO, or other chain-specific conversions. Permissionless (no key required) because it performs no on-chain operation, just a local calculation.
404+
`btcli utils convert` is a convenience command for performing conversions between minimal units (RAO) and TAO, or other chain-specific conversions. It is permissionless (no key required) because it performs no on-chain operation, just a local calculation.

0 commit comments

Comments
 (0)