Skip to content

Commit a1decf1

Browse files
Docs file restructuring (#69)
* restructure wip * restructure wip * fixed broken links * fixed broken links pt. 2 * new changes * fixed broken links pt. 3 * fixed broken links and anchors * trailing slash test * Update docs/subnets/metagraph.md Co-authored-by: Michael Trestman <[email protected]> * fix broken links * wip --------- Co-authored-by: Michael Trestman <[email protected]> Co-authored-by: michael trestman <[email protected]>
1 parent 0153a66 commit a1decf1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+856
-663
lines changed

docs/btcli-permissions.md renamed to docs/btcli/btcli-permissions.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,16 +8,16 @@ This page details the requirements for all of the `btcli` commands.
88

99
See also the `btcli` permissions guides for specific Bittensor personas:
1010

11-
- [Staker's Guide to `BTCLI`](./staking-and-delegation/stakers-btcli-guide)
12-
- [Miner's Guide to `BTCLI`](./miners/miners-btcli-guide)
13-
- [Validator's Guide to `BTCLI`](./validators/validators-btcli-guide)
14-
- [Subnet Creator's Guide to `BTCLI`](./subnets/subnet-creators-btcli-guide)
15-
- [Senator's Guide to `BTCLI`](./governance/senators-btcli-guide)
11+
- [Staker's Guide to `BTCLI`](../staking-and-delegation/stakers-btcli-guide)
12+
- [Miner's Guide to `BTCLI`](../miners/miners-btcli-guide)
13+
- [Validator's Guide to `BTCLI`](../validators/validators-btcli-guide)
14+
- [Subnet Creator's Guide to `BTCLI`](../subnets/subnet-creators-btcli-guide)
15+
- [Senator's Guide to `BTCLI`](../governance/senators-btcli-guide)
1616

1717
Other resources:
1818

19-
- [Introduction to Wallets, Coldkeys and Hotkeys in Bittensor](./getting-started/wallets)
20-
- [Coldkey and Hotkey Workstation Security](./getting-started/coldkey-hotkey-security)
19+
- [Introduction to Wallets, Coldkeys and Hotkeys in Bittensor](../keys/wallets)
20+
- [Coldkey and Hotkey Workstation Security](../keys/coldkey-hotkey-security)
2121

2222
## Bittensor work environments and security requirements
2323

@@ -28,19 +28,19 @@ The workstations you use to do this work can be referred to as a permissionless
2828
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
31-
See [Permissionless workstation](./getting-started/coldkey-hotkey-security#permissionless-workstation)
31+
See [Permissionless workstation](../keys/coldkey-hotkey-security#permissionless-workstation)
3232
:::
3333

3434
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
37-
See [Coldkey workstation](./getting-started/coldkey-hotkey-security#coldkey-workstation)
37+
See [Coldkey workstation](../keys/coldkey-hotkey-security#coldkey-workstation)
3838
:::
3939

4040
1. **A hotkey workstation**—which is generally a server used for mining or validation—contains 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
43-
See [Hotkey workstation security](./getting-started/coldkey-hotkey-security#hotkey-workstation)
43+
See [Hotkey workstation security](../keys/coldkey-hotkey-security#hotkey-workstation)
4444
:::
4545

4646
## Requirements for `btcli` functions
@@ -49,7 +49,7 @@ The workstations you use to do this work can be referred to as a permissionless
4949

5050
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.
5151

52-
See [Coldkey and Hotkey Workstation Security](../getting-started/coldkey-hotkey-security).
52+
See [Coldkey and Hotkey Workstation Security](../keys/coldkey-hotkey-security).
5353

5454
Required for:
5555

@@ -85,11 +85,11 @@ Some operations require a TAO balance or alpha stake balance to execute.
8585

8686
### Validator Permit
8787

88-
To set weights, a validator must meet several requirements. See [Requirements for validation](./validators/#requirements-for-validation).
88+
To set weights, a validator must meet several requirements. See [Requirements for validation](../validators/#requirements-for-validation).
8989

9090
### Senate requirements
9191

92-
See [Senate: Requirements](./senate#requirements)
92+
See [Senate: Requirements](../governance/senate#requirements)
9393

9494
## `btcli` commands
9595

@@ -102,7 +102,7 @@ The `btcli config ...` commands are used to configure `btcli`, including:
102102

103103
These commands don't require any permissions to run. Rather, you run these commands on all `btcli` workstations to initialize them.
104104

105-
See: [Coldkey and Hotkey Workstation Security](./getting-started/coldkey-hotkey-security)
105+
See: [Coldkey and Hotkey Workstation Security](../keys/coldkey-hotkey-security)
106106

107107
<details>
108108
<summary>btcli config</summary>
@@ -129,7 +129,7 @@ See: [Coldkey and Hotkey Workstation Security](./getting-started/coldkey-hotkey-
129129
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.
130130

131131
:::tip mind your keys
132-
See: [Coldkey and Hotkey Workstation Security](./getting-started/coldkey-hotkey-security)
132+
See: [Coldkey and Hotkey Workstation Security](../keys/coldkey-hotkey-security)
133133
:::
134134

135135
#### Provisioning keys
@@ -288,7 +288,7 @@ See: [Coldkey and Hotkey Workstation Security](./getting-started/coldkey-hotkey-
288288
Read operations require public keys. Write operations (stake add, move, remove...) require a coldkey private key.
289289

290290
:::tip mind your keys
291-
See: [Coldkey and Hotkey Workstation Security](./getting-started/coldkey-hotkey-security)
291+
See: [Coldkey and Hotkey Workstation Security](../keys/coldkey-hotkey-security)
292292
:::
293293

294294
<details>
@@ -442,7 +442,7 @@ Miner and validator registering a hotkey uses a coldkey, has a TAO cost unless p
442442

443443
Reading weights with `reveal` is permissionless.
444444

445-
To set weights with `commit`, a validator must meet several requirements. See [Requirements for validation](./#requirements-for-validation).
445+
To set weights with `commit`, a validator must meet several requirements. See [Requirements for validation](#validator-permit).
446446

447447
<details>
448448
<summary>`btcli weight`</summary>

docs/btcli/btcli-playground.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ This is not a secure code execution environment. This page is for practice/educa
2020
See:
2121

2222
- [Handle your Seed Phrase/Mnemonic Securely](../keys/handle-seed-phrase)
23-
- [Coldkey and Hotkey Workstation Security](../getting-started/coldkey-hotkey-security)
23+
- [Coldkey and Hotkey Workstation Security](../keys/coldkey-hotkey-security)
2424
:::
2525

2626
## Import wallets and check balances.

docs/btcli.md renamed to docs/btcli/btcli.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@ title: "Bittensor CLI: btcli Reference Document"
66

77
Command line interface (CLI) for Bittensor. Uses the values in the configuration file. These values can be overriden by passing them explicitly in the command line.
88

9-
See [Getting Started](./getting-started/install-btcli.md) to install `btcli`.
9+
See [Getting Started](../getting-started/install-btcli.md) to install `btcli`.
1010

1111
:::note Transaction Fees
12-
Many btcli operations incur transaction fees. See [Transaction Fees in Bittensor](./fees.md) for details.
12+
Many BTCLI operations incur transaction fees. See [Transaction Fees in Bittensor](../learn/fees.md) for details.
1313
:::
1414

1515
Command line interface (CLI) for Bittensor. Uses the values in the configuration file. These values can be

docs/btcli/overview.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@ title: "Bittensor CLI Overview"
44

55
# Bittensor CLI Overview
66

7-
The Bittensor command line interface (CLI), `btcli`, provides the simplest way to interact with the Bittensor network and its subnets from the command line. This includes managing [wallets (coldkeys and hotkeys)](../getting-started/wallets), TAO balances, transfer, staking and unstaking functions, node registration, governance functions, and more.
8-
7+
The Bittensor command line interface (CLI), `btcli`, provides the simplest way to interact with the Bittensor network and its subnets from the command line. This includes managing [wallets (coldkeys and hotkeys)](../keys/wallets), TAO balances, transfer, staking and unstaking functions, node registration, governance functions, and more.
98

109
See:
10+
1111
- [Install `btcli`](../getting-started/install-btcli)
1212
- [Managing Stake with BTCLI](../staking-and-delegation/managing-stake-btcli.md)
13-
- [`btcli reference document`](../btcli.md)
13+
- [`btcli reference document`](./btcli.md)

docs/bittensor-networks.md renamed to docs/concepts/bittensor-networks.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,4 @@ The below table presents Bittensor networks and a few details:
1515
| **Mainnet Lite** | wss://lite.chain.opentensor.ai:443 | None | None |
1616
| **Experimental Mainnet Lite** | wss://lite.finney.test.opentensor.ai:443 | None | None |
1717
| **Network Purpose** | Transactions with financial value | Test transactions with no value, constrained by tokenomics | Development and testing in fully user-controlled environment |
18-
| **Test TAO** | None | Available on request (not compatible with devnet test TAO) | Available in Alice wallet. See [Access the Alice account](./local-build/provision-wallets#access-the-alice-account). |
18+
| **Test TAO** | None | Available on request (not compatible with devnet test TAO) | Available in Alice wallet. See [Access the Alice account](../local-build/provision-wallets#access-the-alice-account). |
File renamed without changes.

docs/subnets/commit-reveal.md renamed to docs/concepts/commit-reveal.md

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,37 @@
1-
21
import ThemedImage from '@theme/ThemedImage';
32
import useBaseUrl from '@docusaurus/useBaseUrl';
43

54
# Commit Reveal
65

76
This page describes the **commit reveal** feature: a configurable waiting period that elapses between a) when consensus weights set by subnet validators are first committed, and b) when they are revealed publicly and included in Yuma Consensus.
87

9-
This feature was designed to address the issue of *weight copying* by validators.
8+
This feature was designed to address the issue of _weight copying_ by validators.
109

1110
## Weight copying
1211

13-
In each Bittensor subnet, each validator scores&mdash;or *'weights'*&mdash;each miner, producing what is referred to as a [weight vector](../glossary.md#weight-vector). The weight vectors for each validator in a subnet are combined into a weight matrix. This matrix determines emissions to miners in the subnet based on the consensus evaluation of their performance, according to [Yuma Consensus](../glossary.md#yuma-consensus).
12+
In each Bittensor subnet, each validator scores&mdash;or _'weights'_&mdash;each miner, producing what is referred to as a [weight vector](../resources/glossary.md#weight-vector). The weight vectors for each validator in a subnet are combined into a weight matrix. This matrix determines emissions to miners in the subnet based on the consensus evaluation of their performance, according to [Yuma Consensus](../resources/glossary.md#yuma-consensus).
1413

1514
The weight matrix is public information, and must be, so that emissions in the Bittensor platform can be transparently fair. However, this transparency makes it possible for subnet validators to free-ride on the work of other validators by copying the latest consensus rather than independently evaluating subnet miners. This is unfair and potentially degrades the quality of validation work, undermining Bittensor's ability to incentivize the best miners and produce the best digital commodities overall.
1615

1716
The commit reveal feature is designed to solve the weight copying problem by giving would-be weight copiers access only to stale weights. Copying stale weights should result in validators departing from consensus. However, it is critical to note that this only works if the consensus weight matrix changes sufficiently on the time scale of the commit reveal interval. If the demands on miners are too static, and miner performance is very stable, weight copying will still be successful. The only solution for this is to demand continuous improvement from miners, requiring them to continuously evolve to maintain their scoring. Combined with a properly tuned Commit Reveal interval, this will keep validators honest, as well as producing the best models.
1817

1918
## Commit Reveal and Immunity Period
2019

21-
The [Immunity Period](../glossary.md#immunity-period) is the interval (measured in blocks) during which a miner or validator newly registered on a subnet is 'immune' from deregistration due to performance. The duration of this period value should always be larger than the Commit Reveal interval, otherwise the immunity period will expire before a given miner's scores are available, and they may be deregistered without having their work counted.
20+
The [Immunity Period](../resources/glossary.md#immunity-period) is the interval (measured in blocks) during which a miner or validator newly registered on a subnet is 'immune' from deregistration due to performance. The duration of this period value should always be larger than the Commit Reveal interval, otherwise the immunity period will expire before a given miner's scores are available, and they may be deregistered without having their work counted.
2221

2322
When creating a new subnet, ensure that the miner immunity period is larger than the commit reveal interval. When updating the immunity period or commit reveal interval hyperparameters for a subnet, use the following formula:
2423

2524
```
2625
new_immunity_period = (new_commit_reveal_period x tempo - old_commit_reveal_period x tempo) + old_immunity_period
2726
```
2827

29-
See [Subnet Hyperparameters](./subnet-hyperparameters.md).
28+
See [Subnet Hyperparameters](../subnets/subnet-hyperparameters.md).
3029

3130
## Commit reveal in detail
3231

33-
When commit reveal is enabled, it works as follows:
32+
When commit reveal is enabled, it works as follows:
3433

35-
1. A subnet validator sets the weights normally by using [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html).
34+
1. A subnet validator sets the weights normally by using [`set_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/set_weights/index.html).
3635

3736
2. Instead of publishing weights openly, an encrypted copy of these weights is committed to the blockchain, using an internal method called [`commit_weights`](pathname:///python-api/html/autoapi/bittensor/core/extrinsics/commit_weights/index.html).
3837

@@ -62,22 +61,20 @@ style={{width: 750}}
6261
/>
6362
</center>
6463

65-
6664
## How to use the commit reveal feature
6765

6866
As a subnet owner, set the below hyperparameters to use the commit reveal feature:
6967

7068
1. `commit_reveal_weights_enabled` (boolean): Set this to `True` to activate the commit reveal feature for the subnet. Default value is `False`.
7169
2. `commit_reveal_period` (int): Set this to an integer number. This is the number of subnet tempos to elapse before revealing the weights by submitting them again to the blockchain, but now openly for everyone to see. Default value is `1`.
7270

73-
See [Setting subnet hyperparameters](subnet-hyperparameters#setting-the-hyperparameters).
71+
See [Setting subnet hyperparameters](../subnets/subnet-hyperparameters.md#set-hyperparameters).
7472

7573
:::danger Ensure that the commit reveal interval is less than your immunity period to avoid unintended miner de-registration!
7674
See [Commit Reveal and Immunity Period](#commit-reveal-and-immunity-period).
7775
:::
7876

79-
80-
Weights will be revealed immediately at the beginning of the tempo after the `commit_reveal_period`. For example, if `commit_reveal_period` value is set to `3`, then the reveal will occur at the beginning of the fourth tempo from the current tempo. The current tempo is counted as the first tempo. See the below diagram for this example:
77+
Weights will be revealed immediately at the beginning of the tempo after the `commit_reveal_period`. For example, if `commit_reveal_period` value is set to `3`, then the reveal will occur at the beginning of the fourth tempo from the current tempo. The current tempo is counted as the first tempo. See the below diagram for this example:
8178

8279
<center>
8380
<ThemedImage
@@ -92,10 +89,8 @@ style={{width: 750}}
9289

9390
<br />
9491

95-
9692
## Technical papers and blog
9793

9894
- ACM CCS2024 Poster PDF [Solving the Free-rider Problem In Bittensor](pathname:///papers/ACM_CCS2024_Poster.pdf).
9995
- See [Weight Copying in Bittensor, a technical paper (PDF)](pathname:///papers/BT_Weight_Copier-29May2024.pdf).
10096
- Blog post, [Weight Copying in Bittensor](https://blog.bittensor.com/weight-copying-in-bittensor-422585ab8fa5).
101-
File renamed without changes.

docs/root-network.md renamed to docs/concepts/root-network.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ title: "Root Network"
66

77
:::tip
88

9-
The Root Network no longer is in operation, so this doc is a kind of historical artifact. The Root Network was decommisioned with the [Dynamic TAO](./dynamic-tao) upgrade in February 2025
9+
The Root Network no longer is in operation, so this doc is a kind of historical artifact. The Root Network was decommisioned with the [Dynamic TAO](../dynamic-tao/index.md) upgrade in February 2025
1010
:::
1111

1212
The root network was a special kind of subnet. The root network has the `netuid` of 0.

docs/tools.md renamed to docs/concepts/tools.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,36 +11,38 @@ Bittensor provides several tools to help developers, miners, and validators inte
1111
## Bittensor SDK
1212

1313
The Bittensor SDK is a Python-based library that allows developers to interact programmatically with the Bittensor network. You can use the SDK to:
14+
1415
- Create and manage wallets
1516
- Register miners and validators
1617
- Query and monitor network activity
1718
- Build applications on top of Bittensor’s decentralized AI infrastructure
1819

19-
**Learn more in the [Bittensor SDK documentation](./bt-api-ref.md)** (link for illustration).
20+
**Learn more in the [Bittensor SDK documentation](../sdk/bt-api-ref.md)** (link for illustration).
2021

2122
---
2223

2324
## Bittensor CLI
2425

2526
The Bittensor command-line interface (`btcli`) provides a straightforward way to:
27+
2628
- Create, manage, and encrypt wallet keys
2729
- Transfer and stake TAO
2830
- Perform subnet management operations (e.g., creating subnets, registering miners/validators)
2931
- View wallet information and network status
3032

3133
It is designed for users who prefer quick terminal commands or those managing multiple nodes and subnet interactions.
32-
**See [Bittensor CLI reference](./btcli.md)** for detailed usage instructions.
34+
**See [Bittensor CLI reference](../btcli/btcli.md)** for detailed usage instructions.
3335

3436
---
3537

3638
## Wallets and Keys
3739

38-
In Bittensor (like other cryptocurrency applications), a *wallet* is a tool for managing the cryptographic key-pairs required to prove your identity, sign transactions, and access your currency
40+
In Bittensor (like other cryptocurrency applications), a _wallet_ is a tool for managing the cryptographic key-pairs required to prove your identity, sign transactions, and access your currency
3941

4042
Bittensor uses a dual-key wallet structure:
41-
- **Coldkey** for secure storage of TAO and high-security operations
43+
44+
- **Coldkey** for secure storage of TAO and high-security operations
4245
- **Hotkey** for operational tasks like validation, mining, and day-to-day transactions
4346

4447
Both keys are crucial for safeguarding and participating in the network.
45-
**For a complete guide, see [Wallets & Keys](./getting-started/wallets)** and [Working with Keys](./working-with-keys).
46-
48+
**For a complete guide, see [Wallets & Keys](../keys/wallets)** and [Working with Keys](../keys/working-with-keys).

0 commit comments

Comments
 (0)