Documentation

The root command provides a number of actions:

btcli root --help
                                                                                                                                                                       
 Usage: btcli root [OPTIONS] COMMAND [ARGS]...                                                                                                                         
                                                                                                                                                                       
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --help          Show this message and exit.                                                                                                                         │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Commands ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ list               Show the neurons (root network validators) in the root network (netuid = 0).                                                                     │
│ register           Register a neuron (a subnet validator or a subnet miner) to a specified subnet by recycling some TAO to cover for the registration cost.         │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Weights Management ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ boost              Increase (boost) the weights for a specific subnet in the root network. Any amount provided will be added to the subnet's existing weight.       │
│ get-weights        Shows a table listing the weights assigned to each subnet in the root network.                                                                   │
│ set-weights        Set the weights for different subnets, by setting them in the root network.                                                                      │
│ slash              Decrease (slash) the weights for a specific subnet in the root network. Any amount provided will be subtracted from the subnet's existing        │
│                    weight.                                                                                                                                          │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Delegation ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ delegate-stake     Stakes TAO to a specified delegate hotkey.                                                                                                       │
│ list-delegates     Displays a table of Bittensor network-wide delegates, providing a comprehensive overview of delegate statistics and information.                 │
│ my-delegates       Shows a table with the details on the user's delegates.                                                                                          │
│ set-take           Allows users to change their delegate take percentage.                                                                                           │
│ undelegate-stake   Allows users to withdraw their staked TAO from a delegate.                                                                                       │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
╭─ Governance ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ nominate           Enables a wallet's hotkey to become a delegate.                                                                                                  │
│ proposals          View active proposals for the senate in the Bittensor's governance protocol.                                                                     │
│ senate             Shows the Senate members of the Bittensor's governance protocol.                                                                                 │
│ senate-vote        Cast a vote on an active proposal in Bittensor's governance protocol.                                                                            │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯
                                                                                                                                                                       
 Made with ❤ by The Openτensor Foundaτion                                                                       

Commands

List

Show the neurons (root network validators) in the root network (netuid = 0).                                                                                          
 USAGE                                                                                                                                                                 
                                                                                                                                                                       
 The command fetches and lists the neurons (root network validators) in the root network, showing their unique identifiers (UIDs), names, addresses, stakes, and       
 whether they are part of the senate (network governance body).                                                                                                        
                                                                                                                                                                       
 This command is useful for understanding the composition and governance structure of the Bittensor network's root network. It provides insights into which neurons    
 hold significant influence and responsibility within the Bittensor network.                                                                                           
                                                                                                                                                                       
 EXAMPLE                                                                                                                                                               
                                                                                                                                                                       
 $ btcli root list                                                                                                                                                     
                                                                                                                                                                       
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --network,--subtensor.network             TEXT  The subtensor network to connect to. Default: finney. Allowed values: local, test, finney.                          │
│ --chain,--subtensor.chain_endpoint        TEXT  The subtensor chain endpoint URL to connect to. The format should be similar to: ws://127.0.0.1:9946.               │
│ --quiet                                         Display only critical information on the console.                                                                   │
│ --verbose                                       Enable verbose output.                                                                                              │
│ --help                                          Show this message and exit.                                                                                         │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯


Register

Register a neuron on the root network.

Register a neuron (a subnet validator or a subnet miner) to a specified subnet by recycling some TAO to cover for the registration cost.                              
 This command adds a new neuron (a subnet validator or a subnet miner) to a specified subnet, contributing to the decentralization and robustness of Bittensor.        
                                                                                                                                                                       
 # Usage:                                                                                                                                                              
                                                                                                                                                                       
 Before registering, the command checks if the specified subnet exists and whether the TAO balance in the user's wallet is sufficient to cover the registration cost.  
 The registration cost is determined by the current recycle amount for the specified subnet. If the balance is insufficient or the subnet does not exist, the command  
 will exit with an appropriate error message.                                                                                                                          
                                                                                                                                                                       
 # Example usage:                                                                                                                                                      
                                                                                                                                                                       
 $ btcli subnets register --netuid 1                                                                                                                                   
                                                                                                                                                                       
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --network,--subtensor.network                                                                    TEXT  The subtensor network to connect to. Default: finney.        │
│                                                                                                        Allowed values: local, test, finney.                         │
│ --chain,--subtensor.chain_endpoint                                                               TEXT  The subtensor chain endpoint URL to connect to. The format   │
│                                                                                                        should be similar to: ws://127.0.0.1:9946.                   │
│ --wallet-name,--name,--wallet_name,--wallet.name                                                 TEXT  Name of the wallet. [default: None]                          │
│ --wallet-path,--wallet_path,--wallet.path                 -p                                     TEXT  Path where the wallets are located. For example:             │
│                                                                                                        `/Users/btuser/.bittensor/wallets`.                          │
│                                                                                                        [default: None]                                              │
│ --hotkey,--wallet_hotkey,--wallet-hotkey,--wallet.hotkey  -H                                     TEXT  Hotkey of the wallet [default: None]                         │
│ --prompt,--prompt                                             --no-prompt,--yes,--no_prompt  -y        Enable or disable interactive prompts. [default: prompt]     │
│ --quiet                                                                                                Display only critical information on the console.            │
│ --verbose                                                                                              Enable verbose output.                                       │
│ --help                                                                                                 Show this message and exit.                                  │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

Weights Management

Validators on the root subnet assign weights to each subnet. These commands are used to edit these weights.

Boost

Increase (boost) the weights for a specific subnet in the root network. Any amount provided will be added to the subnet's existing weight.

btcli root boost --help
                                                                                                                                                                       
 Usage: btcli root boost [OPTIONS]                                                                                                                                     
                                                                                                                                                                       
 Increase (boost) the weights for a specific subnet in the root network. Any amount provided will be added to the subnet's existing weight.                            
 EXAMPLE                                                                                                                                                               
                                                                                                                                                                       
 $ btcli root boost --netuid 1 --increase 0.01                                                                                                                         
                                                                                                                                                                       
╭─ Options ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ --network,--subtensor.network                                                                    TEXT     The subtensor network to connect to. Default: finney.     │
│                                                                                                           Allowed values: local, test, finney.                      │
│ --chain,--subtensor.chain_endpoint                                                               TEXT     The subtensor chain endpoint URL to connect to. The       │
│                                                                                                           format should be similar to: ws://127.0.0.1:9946.         │
│ --wallet-name,--name,--wallet_name,--wallet.name                                                 TEXT     Name of the wallet. [default: None]                       │
│ --wallet-path,--wallet_path,--wallet.path                 -p                                     TEXT     Path where the wallets are located. For example:          │
│                                                                                                           `/Users/btuser/.bittensor/wallets`.                       │
│                                                                                                           [default: None]                                           │
│ --hotkey,--wallet_hotkey,--wallet-hotkey,--wallet.hotkey  -H                                     TEXT     Hotkey of the wallet [default: None]                      │
│ --netuid                                                                                         INTEGER  The netuid of the subnet in the root network, (e.g. 1).   │
│                                                                                                           [default: None]                                           │
│ --amount,--increase                                       -a                                     FLOAT    Amount (float) to boost (added to the existing weight),   │
│                                                                                                           (e.g. 0.01)                                               │
│                                                                                                           [default: None]                                           │
│ --prompt,--prompt                                             --no-prompt,--yes,--no_prompt  -y           Enable or disable interactive prompts. [default: prompt]  │
│ --quiet                                                                                                   Display only critical information on the console.         │
│ --verbose                                                                                                 Enable verbose output.                                    │
│ --help                                                                                                    Show this message and exit.                               │
╰─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯


get-weights

A gigantic table of all the weights set on the root subnet

btcli root  get-weights   --help
                                                                                                                                                                       
 Usage: btcli root get-weights [OPTIONS]                                                                                                                               
                                                                                                                                                                       
 Shows a table listing the weights assigned to each subnet in the root network.                                                                                        
 This command provides visibility into how network responsibilities and rewards are distributed among various subnets. This information is crucial for understanding   
 the current influence and reward distribution across different subnets. Use this command if you are interested in the governance and operational dynamics of the      
 Bittensor network.                                                                                                                                                    
                                                                                                                                                                       
 EXAMPLE                                                                                                                                                               
                                                                                                                                                                       
 $ btcli root get_weights                                                                                                                                              
  
Welcome to the matrix.

Welcome to the matrix.

set-weights

For root validators to set subnet weights.

Usage: btcli root set-weights [OPTIONS]                                                                                                                               
                                                                                                                                                                       
 Set the weights for different subnets, by setting them in the root network.                                                                                           
 To use this command, you should specify the netuids and corresponding weights you wish to assign. This command is used by network senators to influence the           
 distribution of subnet rewards and responsibilities.                                                                                                                  
                                                                                                                                                                       
 You must have a comprehensive understanding of the dynamics of the subnets to use this command. It is a powerful tool that directly impacts the subnet's  operational 
 mechanics and reward distribution.                                                                                                                                    
                                                                                                                                                                       
 EXAMPLE                                                                                                                                                               
                                                                                                                                                                       
 With no spaces between the passed values:                                                                                                                             
                                                                                                                                                                       
 $ btcli root set-weights --netuids 1,2 --weights 0.2,0.3                                                                                                              
                                                                                                                                                                       
 or                                                                                                                                                                    
                                                                                                                                                                       
 Include double quotes to include spaces between the passed values:                                                                                                    
                                                                                                                                                                       
 $ btcli root set-weights --netuids "1, 2" --weights "0.2, 0.3"          

Slash

Usage: btcli root slash [OPTIONS]                                                                                                                                     
                                                                                                                                                                       
 Decrease (slash) the weights for a specific subnet in the root network. Any amount provided will be subtracted from the subnet's existing weight.                     
 EXAMPLE                                                                                                                                                               
                                                                                                                                                                       
 $ btcli root slash --netuid 1 --decrease 0.01                                                                                                                         
                                                      

delegate-stake

Delegate stake to a validator

Stakes TAO to a specified delegate hotkey.                                                                                                                            
 This command allocates the user's TAO to the specified hotkey of a delegate, potentially earning staking rewards in return. If the                                    
 `--all` flag is used, it delegates the entire TAO balance available in the user's wallet.                                                                             
                                                                                                                                                                       
 This command should be run by a TAO holder. Compare this command with "btcli stake add" that is typically run by a subnet validator to add stake to their own         
 delegate hotkey.                                                                                                                                                      
                                                                                                                                                                       
 EXAMPLE                                                                                                                                                               
                                                                                                                                                                       
 $ btcli root delegate-stake --delegate_ss58key <SS58_ADDRESS> --amount <AMOUNT>                                                                                       
                                                                                                                                                                       
 $ btcli root delegate-stake --delegate_ss58key <SS58_ADDRESS> --all                                                                                                   
                                                                                                                                                                       
 Note: This command modifies the blockchain state and may incur transaction fees. The user should ensure the delegate's address and the amount to be staked are        
 correct before executing the command.                    

list-delegates

Lists the delegates on the root subnet. Can be filtered with --wallet-name to show delegators for a specific wallet

my-delegates

Lists delegates of a specific wallet.

set-take

For validators to set their take. Take is the percentage of validator emission returned to the validator

 Allows users to change their delegate take percentage.                                                                                                                
 This command can be used to update the delegate takes individually for every subnet. To run the command, the user must have a configured wallet with both hotkey and  
 coldkey. The command performs the below checks:                                                                                                                       
                                                                                                                                                                       
     1. The provided hotkey is already a delegate.                                                                                                                     
     2. The new take value is within 0-18% range.                                                                                                                      
                                                                                                                                                                       
 EXAMPLE                                                                                                                                                               
                                                                                                                                                                       
 $ btcli root set_take --wallet-name my_wallet --wallet-hotkey my_hotkey         

undelegate-stake

 Allows users to withdraw their staked TAO from a delegate.                                                                                                            
 The user must provide the delegate hotkey's ss58 address and the amount of TAO to undelegate. The function will then send a transaction to the blockchain to process  
 the undelegation. This command can result in a change to the blockchain state and may incur transaction fees.                                                         
                                                                                                                                                                       
 EXAMPLE                                                                                                                                                               
                                                                                                                                                                       
 $ btcli undelegate --delegate_ss58key <SS58_ADDRESS> --amount <AMOUNT>                                                                                                
                                                                                                                                                                       
 $ btcli undelegate --delegate_ss58key <SS58_ADDRESS> --all       

Governance

Nominate

Nominate your hotkey to be a member of the Bittensor senate.

Proposals

View active proposals for the senate in the Bittensor's governance protocol.
This command displays the details of ongoing proposals, including proposal hashes, votes, thresholds, and proposal data.

senate

Shows the Senate members of the Bittensor's governance protocol.
This command lists the delegates involved in the decision-making process of the Bittensor network, showing their names and wallet addresses. This information is
crucial for understanding who holds governance roles within the network.

senate-vote

This command is used by Senate members to vote on various proposals that shape the network's future. Use btcli root proposals to see the active proposals and their
hashes.

USAGE

The user must specify the hash of the proposal they want to vote on. The command then allows the Senate member to cast a 'Yes' or 'No' vote, contributing to the
decision-making process on the proposal. This command is crucial for Senate members to exercise their voting rights on key proposals. It plays a vital role in the
governance and evolution of the Bittensor network.