Testnet Tensor
  • Introduction
  • Explorer
  • GPT
  • DSN Dashboard
  • Create Account
    • Wallet
    • CLI
    • Faucet
  • Hypertensor CLI
    • Hypertensor CLI
  • Run A Subnet Node
    • Getting Started
    • Wiki
      • Running on AMD GPU
      • Running on Windows Using WSL
      • Troubleshooting
    • Generate Keypair
    • Register & Stake
    • Add
    • Start Validator Node
    • Start Bootstrap Node
    • Activate
    • Update Delegate Reward Rate
    • Deactivate
    • Remove
    • Keys
  • Delegate Staking
    • Introduction
    • Add Delegate Stake
    • Transfer Delegate Stake
    • Remove Delegate Stake
    • Claim Delegate Stake
  • Node Delegate Staking
    • Introduction
    • Add Node Delegate Stake
    • Transfer Node Delegate Stake
    • Remove Node Delegate Stake
    • Claim Node Delegate Stake
  • Delegate Staking Utils
    • Introduction
    • Subnet to Node
    • Node to Subnet
  • Build a Subnet
    • Introduction
    • DSN Standard
    • Subnet Consensus Protocol (SCP)
      • Incentives
      • Accounting
      • Proposals
    • Subnet
      • Registration
      • Activation
      • Deactivation
    • Subnet Nodes
      • Registration
      • Activation
      • Deactivate
  • Contribute
Powered by GitBook
On this page
  • Registration Interval
  • Registration Fee
  • Registering
  • Subnet Data:
  • Subnet Entry Interval
  • Subnet Registration Coldkey Whitelist
  1. Build a Subnet
  2. Subnet

Registration

Registration Interval

  • One week: One subnet can register per week.

Registration Fee

  • Cost: For each registration interval, the registration fee will linearly decrease from 1000 𝕋 - 100 𝕋.


Registering

pub struct RegistrationSubnetData<AccountId> {
    pub path: Vec<u8>,
    pub registration_blocks: u64,
    pub entry_interval: u64,
    pub coldkey_whitelist: Option<BTreeSet<AccountId>>,
}
  • path: A unique name for the subnet. This can be used as the path to download the model, etc.

  • registration_blocks: The number of blocks the subnet will have to meet all subnet activation conditions.

  • entry_interval: The block interval between each node entry.

    • This is updateable by the subnet owner (registerer) after registration.

  • coldkey_whitelist: A whitelist of coldkeys that can register nodes within the registration period.

    • Due to subnets being P2P applications, the same as blockchains, the nodes that start at the genesis of the subnet should be trusted entities.

    • This whitelist is removed on the subnet activation and the subnet becomes a public network.

Subnet Data:

The blockchain stores the following parameters for each subnet:

pub struct SubnetData {
    pub id: u32,
    pub path: Vec<u8>,
    pub state: SubnetState,
    pub registered: u32,
    pub activated: u32,
}
  • id: The unique identifier for the subnet (generated on-chain)

  • path: The unique path for the subnet (submitted by the registerer)

    • This is the location of the open-sourced model from which subnet nodes can download it, the documentation, or the name of the subnet.

  • state: The state of the subnet; Registered or Active.

  • registered: The block registered.

  • activated: The block of the subnets activation.

Subnet Entry Interval

The blocks that are required to pass between each node registration. This is updateable by the subnet owner.

#[pallet::storage]
pub type SubnetEntryInterval<T: Config> = StorageMap<_, Identity, u32, u32, ValueQuery, DefaultZeroU32>;

Subnet Registration Coldkey Whitelist

The coldkey whitelist is for node registrations while a subnet is in its registration period. Once the subnet is activated, this is removed and no longer a function of the subnet.

#[pallet::storage] // subnet_id => {..., AccountId, ...}
pub type SubnetRegistrationColdkeyWhitelist<T: Config> = StorageMap<_, Identity, u32, BTreeSet<T::AccountId>>;

PreviousSubnetNextActivation

Last updated 1 month ago

Once a subnet is registered, it must achieve the required conditions to begin receiving incentives.

activation