🌟 Important Prerequisites Notice

Before you embark on this journey with Masa Subnet 42, please take note:

  1. 🌐 Data Scraping Focus: Subnet 42 is designed for efficient data scraping from the X (Twitter) network. Ensure your setup is optimized for high-quality data extraction.
  2. πŸ” Validation Role: Validators are crucial in assessing the quality and relevance of the data scraped by miners. Be prepared to engage in this validation process.
  3. πŸ§ͺ Testnet Availability: You can test your setup on the testnet (netuid 165) before moving to the mainnet to ensure everything is functioning correctly.

πŸ“‹ Prerequisites

  • 🐍 Python 3.12 or higher
  • πŸ’Ό A Bittensor wallet with TAO
  • 🌐 Access to the Bittensor network (testnet or mainnet)

🌟 Key Features of Masa Subnet 42

Masa Subnet 42 offers specialized tools and frameworks to enhance your data scraping capabilities:

  • Masa SDK: Provides efficient tools for data scraping and validation.
  • Kurtosis Reward Curve: Ensures fair distribution of rewards based on performance.
  • Data Scraping and Validation: Miners extract trending tweets, while validators ensure data quality and relevance.

These features are designed to help you effectively participate in the data-driven ecosystem of Masa Subnet 42.

πŸ› οΈ Step 1: Environment Setup

  1. Clone the repository:

    git clone https://github.com/masa-finance/masa-bittensor
    cd masa-bittensor
    
  2. Create or activate a virtual environment:

    # Create virtual environment
    python -m venv venv
    
    # Activate virtual environment
    source venv/bin/activate
    
  3. Get the latest release:

    latest_tag=$(git describe --tags `git rev-list --tags --max-count=1`)
    
  4. Checkout the latest release:

    git checkout $latest_tag
    
  5. Install Required Packages:

    pip install -e .
    
  6. Run the validator:

    pm2 start "make run-validator"
    

    Your validator should now be running! To view the logs, run

    pm2 logs
    

    This command runs the validator script with the following options:

    • --netuid $(NETUID): Specifies the network unique identifier for the validator.
    • --wallet.name validator: Uses the wallet named β€œvalidator”.
    • --wallet.hotkey default: Uses the default hotkey for the wallet.
    • --axon.port 8092: Sets the port for the Axon server to 8092.
    • --neuron.debug: Enables debug mode for the neuron, providing detailed output for troubleshooting.
    • --logging.debug: Enables debug logging, which provides verbose logging information.
    • --logging.logging_dir ~/.bittensor/wallets: Specifies the directory where logs will be stored.
    • --neuron.axon_off: Disables the Axon server to not expose validator’s IP

    This setup is useful for running a validator node with detailed logging and debugging enabled, while disabling the Axon server.