[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"tool-opentensor--bittensor":3,"similar-opentensor--bittensor":207},{"id":4,"github_repo":5,"name":6,"description_en":7,"description_zh":8,"ai_summary_zh":9,"readme_en":10,"readme_zh":11,"quickstart_zh":12,"use_case_zh":13,"hero_image_url":14,"owner_login":15,"owner_name":16,"owner_avatar_url":17,"owner_bio":18,"owner_company":19,"owner_location":19,"owner_email":19,"owner_twitter":20,"owner_website":21,"owner_url":22,"languages":23,"stars":39,"forks":40,"last_commit_at":41,"license":42,"difficulty_score":43,"env_os":44,"env_gpu":45,"env_ram":45,"env_deps":46,"category_tags":54,"github_topics":58,"view_count":71,"oss_zip_url":19,"oss_zip_packed_at":19,"status":72,"created_at":73,"updated_at":74,"faqs":75,"releases":106},7678,"opentensor\u002Fbittensor","bittensor","Internet-scale Neural Networks","Bittensor 是一个旨在构建互联网规模神经网络的开源平台，它通过区块链机制将全球分散的计算资源连接起来，共同生产和竞争高质量的数字商品，如机器智能、数据存储、算力乃至蛋白质折叠预测等。\n\n传统人工智能开发往往受限于高昂的集中式算力成本和封闭的数据生态。Bittensor 创造性地解决了这一痛点，它并非单一的区块链或 AI 平台，而是由一条核心链（Subtensor）和众多独立子网（Subnets）组成的混合架构。每个子网专注于特定领域的数字商品生产，通过“验证者”与“矿工”的链下竞争机制，确保只有最优的贡献者能获得 TAO 代币奖励，从而激励整个网络持续进化。\n\n这一项目特别适合开发者、AI 研究人员以及希望去中心化部署模型的技术团队。借助 Bittensor SDK，用户可以轻松编写子网激励逻辑、部署矿工节点或构建验证器，快速融入生态系统。其独特的技术亮点在于“尤玛共识”（Yuma Consensus）机制，它巧妙地将区块链的安全性与机器学习的动态评估相结合，实现了无需信任中介的规模化智能协作。无论你是想贡献算力获取收益，还是寻求一个开放、公平的 AI 训练环境，Bittens","Bittensor 是一个旨在构建互联网规模神经网络的开源平台，它通过区块链机制将全球分散的计算资源连接起来，共同生产和竞争高质量的数字商品，如机器智能、数据存储、算力乃至蛋白质折叠预测等。\n\n传统人工智能开发往往受限于高昂的集中式算力成本和封闭的数据生态。Bittensor 创造性地解决了这一痛点，它并非单一的区块链或 AI 平台，而是由一条核心链（Subtensor）和众多独立子网（Subnets）组成的混合架构。每个子网专注于特定领域的数字商品生产，通过“验证者”与“矿工”的链下竞争机制，确保只有最优的贡献者能获得 TAO 代币奖励，从而激励整个网络持续进化。\n\n这一项目特别适合开发者、AI 研究人员以及希望去中心化部署模型的技术团队。借助 Bittensor SDK，用户可以轻松编写子网激励逻辑、部署矿工节点或构建验证器，快速融入生态系统。其独特的技术亮点在于“尤玛共识”（Yuma Consensus）机制，它巧妙地将区块链的安全性与机器学习的动态评估相结合，实现了无需信任中介的规模化智能协作。无论你是想贡献算力获取收益，还是寻求一个开放、公平的 AI 训练环境，Bittensor 都提供了一个充满活力的基础设施。","\u003Cdiv align=\"center\">\n\n# **Bittensor SDK** \u003C!-- omit in toc -->\n[![Discord Chat](https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F308323056592486420.svg)](https:\u002F\u002Fdiscord.gg\u002Fbittensor)\n[![CodeQL](https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Factions\u002Fworkflows\u002Fgithub-code-scanning\u002Fcodeql\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Factions)\n[![PyPI version](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fbittensor.svg)](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fbittensor)\n[![Codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fopentensor\u002Fbittensor\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fapp.codecov.io\u002Fgh\u002Fopentensor\u002Fbittensor)\n[![License: MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT) \n\n---\n\n## Internet-scale Neural Networks \u003C!-- omit in toc -->\n\n[Discord](https:\u002F\u002Fdiscord.gg\u002FqasY3HA9F9) • [Network](https:\u002F\u002Ftaostats.io\u002F) • [Research](https:\u002F\u002Fbittensor.com\u002Fwhitepaper) • [Documentation](https:\u002F\u002Fdocs.learnbittensor.org)\n\n\u003C\u002Fdiv>\n\n- [Overview of Bittensor](#overview-of-bittensor)\n- [The Bittensor SDK](#the-bittensor-sdk)\n- [Is Bittensor a blockchain or an AI platform?](#is-bittensor-a-blockchain-or-an-ai-platform)\n- [Subnets](#subnets)\n- [Subnet validators and subnet miners](#subnet-validators-and-subnet-miners)\n- [Yuma Consensus](#yuma-consensus)\n- [Release Notes](#release-notes)\n- [Install Bittensor SDK](#install-bittensor-sdk)\n- [Upgrade](#upgrade)\n- [Install on macOS and Linux](#install-on-macos-and-linux)\n  - [Install using a Bash command](#install-using-a-bash-command)\n  - [Install using `pip3 install`](#install-using-pip3-install)\n  - [Install from source](#install-from-source)\n  - [Verify using Python interpreter](#verify-using-python-interpreter)\n  - [Verify by listing axon information](#verify-by-listing-axon-information)\n- [Release Guidelines](#release-guidelines)\n- [Contributions](#contributions)\n- [License](#license)\n- [Acknowledgments](#acknowledgments)\n\n---\n\n## Overview of Bittensor\n\nWelcome! Bittensor is an open source platform on which you can produce competitive digital commodities. These digital commodities can be machine intelligence, storage space, compute power, protein folding, financial markets prediction, and many more. You are rewarded in **TAO** when you produce best digital commodities.\n\n## The Bittensor SDK\n\nThe Opentensor Foundation (OTF) provides all the open source tools, including this Bittensor SDK, the codebase and the documentation, with step-by-step tutorials and guides, to enable you to participate in the Bittensor ecosystem. \n\n- **Developer documentation**: https:\u002F\u002Fdocs.learnbittensor.org.\n- **A Beginner's Q and A on Bittensor**: https:\u002F\u002Fdocs.learnbittensor.org\u002Fquestions-and-answers.\n- **Bittensor whitepaper**: https:\u002F\u002Fbittensor.com\u002Fwhitepaper.\n\nThis Bittensor SDK contains ready-to-use Python packages for interacting with the Bittensor ecosystem, writing subnet incentive mechanisms, subnet miners, subnet validators and querying the subtensor (the blockchain part of the Bittensor network). \n\n---\n\n## Is Bittensor a blockchain or an AI platform?\n\nIn Bittensor there is one blockchain, and many platforms that are connected to this one blockchain. We call these platforms as **subnets**, and this one blockchain  **subtensor**. So, a subnet can be AI-related or it can be something else. The Bittensor network has a number of distinct subnets. All these subnets interact with subtensor blockchain. If you are thinking, \"So, subnets are not part of the blockchain but only interact with it?\" then the answer is \"yes, exactly.\"\n\n## Subnets\n\nEach category of the digital commodity is produced in a distinct subnet. Applications are built on these specific subnets. End-users of these applications would be served by these applications.\n\n## Subnet validators and subnet miners\n\nSubnets, which exist outside the blockchain and are connected to it, are off-chain competitions where only the best producers are rewarded. A subnet consists of off-chain **subnet validators** who initiate the competition for a specific digital commodity, and off-chain **subnet miners** who compete and respond by producing the best quality digital commodity.\n\n## Yuma Consensus\n\nScores are assigned to the top-performing subnet miners and subnet validators. The on-chain Yuma Consensus determines the TAO rewards for these top performers. The Bittensor blockchain, the subtensor, runs on decentralized validation nodes, just like any blockchain.\n\n**This SDK repo is for Bittensor platform only**\nThis Bittensor SDK codebase is for the Bittensor platform only, designed to help developers create subnets and build tools on Bittensor. For subnets and applications, refer to subnet-specific websites, which are maintained by subnet owners.\n\n## Release Notes\n\nSee [Bittensor SDK Release Notes](https:\u002F\u002Fdocs.learnbittensor.org\u002Fbittensor-rel-notes).\n\n---\n\n## Install Bittensor SDK\n\nBefore you can start developing, you must install Bittensor SDK and then create Bittensor wallet.\n\n## Upgrade\n\nIf you already installed Bittensor SDK, make sure you upgrade to the latest version. Run the below command:\n\n```bash\npython3 -m pip install --upgrade bittensor\n```\n\n---\n\n## Install on macOS and Linux\n\n### Note for macOS users\nThe macOS preinstalled CPython installation is compiled with LibreSSL instead of OpenSSL. There are a number\nof issues with LibreSSL, and as such is not fully supported by the libraries used by bittensor. Thus we highly recommend, if \nyou are using a Mac, to first install Python from [Homebrew](https:\u002F\u002Fbrew.sh\u002F). Additionally, the Rust FFI bindings \n[if installing from precompiled wheels (default)] require the Homebrew-installed OpenSSL package. If you choose to use\nthe preinstalled Python version from macOS, things may not work completely.\n\n### Installation\nYou can install Bittensor SDK on your local machine in either of the following ways. **Make sure you verify your installation after you install**:\n- [Install using a Bash command](#install-using-a-bash-command).\n- [Install using `pip3 install`](#install-using-pip3-install)\n- [Install from source](#install-from-source)\n\n### Install using a Bash command\n\nThis is the most straightforward method. It is recommended for a beginner as it will pre-install requirements like Python, if they are not already present on your machine. Copy and paste the following `bash` command into your terminal:\n\n```bash\n\u002Fbin\u002Fbash -c \"$(curl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fopentensor\u002Fbittensor\u002Fmaster\u002Fscripts\u002Finstall.sh)\"\n```\n\n**For Ubuntu-Linux users**\nIf you are using Ubuntu-Linux, the script will prompt for `sudo` access to install all required apt-get packages.\n\n### Install using `pip3 install`\n\n```bash\npython3 -m venv bt_venv\nsource bt_venv\u002Fbin\u002Factivate\npip install bittensor\n```\n\n### Install from source\n\n1. Create and activate a virtual environment\n\n    - Create Python virtual environment. Follow [this guide on python.org](https:\u002F\u002Fdocs.python.org\u002F3\u002Flibrary\u002Fvenv.html#creating-virtual-environments).\n\n    - Activate the new environment. Follow [this guide on python.org](https:\u002F\u002Fdocs.python.org\u002F3\u002Flibrary\u002Fvenv.html#how-venvs-work)\n\n2. Clone the Bittensor SDK repo\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor.git\n```\n\n3.  Install\n\nYou can install using any of the below options:\n\n- **Install SDK**: Run the below command to install Bittensor SDK in the above virtual environment. This will also install `btcli`.\n\n    ```python\n    pip install bittensor\n    ```\n\n- **Install SDK with `torch`**: Install Bittensor SDK with [`torch`](https:\u002F\u002Fpytorch.org\u002Fdocs\u002Fstable\u002Ftorch.html).\n\n   ```python\n    pip install bittensor[torch]\n    ```\n  In some environments the above command may fail, in which case run the command with added quotes as shown below:\n\n  ```python\n    pip install \"bittensor[torch]\"\n    ```\n\n- **Install SDK with `cubit`**: Install Bittensor SDK with [`cubit`](https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fcubit).\n\n  1. Install `cubit` first. See the [Install](https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fcubit?tab=readme-ov-file#install) section. **Only Python 3.9 and 3.10 versions are supported**. \n  2. Then install SDK with `pip install bittensor`.\n  \n\n### Troubleshooting\n#### SSL: CERTIFICATE_VERIFY_FAILED\n\nIf you are encountering a `[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate` \nerror, use the command `python -m bittensor certifi` which will update your local SSL certificates.\n\n---\n\n## Install on Windows\n\nTo install and run Bittensor SDK on Windows you must install [**WSL 2** (Windows Subsystem for Linux)](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fwindows\u002Fwsl\u002Fabout) on Windows and select [Ubuntu Linux distribution](https:\u002F\u002Fgithub.com\u002Fubuntu\u002FWSL\u002Fblob\u002Fmain\u002Fdocs\u002Fguides\u002Finstall-ubuntu-wsl2.md). \n\nAfter you installed the above, follow the same installation steps described above in [Install on macOS and Linux](#install-on-macos-and-linux).\n\n**ALERT**: **Limited support on Windows**\nWhile wallet transactions like delegating, transfer, registering, staking can be performed on a Windows machine using WSL 2, the mining and validating operations are not recommended and are not supported on Windows machines.\n\n---\n\n## Verify the installation\n\nYou can verify your installation in either of the below ways:\n\n### Verify using `btsdk` version\n\n```bash\npython3 -m bittensor\n```\n\nThe above command will show you the version of the `btsdk` you just installed.\n\n### Verify using Python interpreter\n\n1. Launch the Python interpreter on your terminal.   \n\n    ```bash\n    python3\n    ```\n2. Enter the following two lines in the Python interpreter.\n   \n    ```python\n    import bittensor as bt\n    print( bt.__version__ )\n    ```\n    The Python interpreter output will look like below:\n\n    ```python\n    Python 3.11.6 (main, Oct  2 2023, 13:45:54) [Clang 15.0.0 (clang-1500.0.40.1)] on darwin\n    Type \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n    >>> import bittensor as bt\n    >>> print( bt.__version__ )\n    \u003Cversion number>\n    ```\nYou will see the version number you installed in place of `\u003Cversion number>`. \n\n### Verify by listing axon information\n\nYou can also verify the Bittensor SDK installation by listing the axon information for the neurons. Enter the following lines in the Python interpreter.\n\n```python\nimport bittensor\nmetagraph = bittensor.Metagraph(1)\nmetagraph.axons[:10]\n```\nThe Python interpreter output will look like below.\n\n```bash\n[AxonInfo( \u002Fipv4\u002F3.139.80.241:11055, 5GqDsK6SAPyQtG243hbaKTsoeumjQQLhUu8GyrXikPTmxjn7, 5D7u5BTqF3j1XHnizp9oR67GFRr8fBEFhbdnuVQEx91vpfB5, 600 ), AxonInfo( \u002Fipv4\u002F8.222.132.190:5108, 5CwqDkDt1uk2Bngvf8avrapUshGmiUvYZjYa7bfA9Gv9kn1i, 5HQ9eTDorvovKTxBc9RUD22FZHZzpy1KRfaxCnRsT9QhuvR6, 600 ), AxonInfo( \u002Fipv4\u002F34.90.71.181:8091, 5HEo565WAy4Dbq3Sv271SAi7syBSofyfhhwRNjFNSM2gP9M2, 5ChuGqW2cxc5AZJ29z6vyTkTncg75L9ovfp8QN8eB8niSD75, 601 ), AxonInfo( \u002Fipv4\u002F64.247.206.79:8091, 5HK5tp6t2S59DywmHRWPBVJeJ86T61KjurYqeooqj8sREpeN, 5E7W9QXNoW7se7B11vWRMKRCSWkkAu9EYotG5Ci2f9cqV8jn, 601 ), AxonInfo( \u002Fipv4\u002F51.91.30.166:40203, 5EXYcaCdnvnMZbozeknFWbj6aKXojfBi9jUpJYHea68j4q1a, 5CsxoeDvWsQFZJnDCyzxaNKgA8pBJGUJyE1DThH8xU25qUMg, 601 ), AxonInfo( \u002Fipv4\u002F149.137.225.62:8091, 5F4tQyWrhfGVcNhoqeiNsR6KjD4wMZ2kfhLj4oHYuyHbZAc3, 5Ccmf1dJKzGtXX7h17eN72MVMRsFwvYjPVmkXPUaapczECf6, 600 ), AxonInfo( \u002Fipv4\u002F38.147.83.11:8091, 5Hddm3iBFD2GLT5ik7LZnT3XJUnRnN8PoeCFgGQgawUVKNm8, 5DCQw11aUW7bozAKkB8tB5bHqAjiu4F6mVLZBdgJnk8dzUoV, 610 ), AxonInfo( \u002Fipv4\u002F38.147.83.30:41422, 5HNQURvmjjYhTSksi8Wfsw676b4owGwfLR2BFAQzG7H3HhYf, 5EZUTdAbXyLmrs3oiPvfCM19nG6oRs4X7zpgxG5oL1iK4MAh, 610 ), AxonInfo( \u002Fipv4\u002F54.227.25.215:10022, 5DxrZuW8kmkZPKGKp1RBVovaP5zHtPLDHYc5Yu82Z1fWqK5u, 5FhXUSmSZ2ec7ozRSA8Bg3ywmGwrjoLLzsXjNcwmZme2GcSC, 601 ), AxonInfo( \u002Fipv4\u002F52.8.243.76:40033, 5EnZN591jjsKKbt3yBtfGKWHxhxRH9cJonqTKRT5yTRUyNon, 5ChzhHyGmWwEdHjuvAxoUifHEZ6xpUjR67fDd4a42UrPysyB, 601 )]\n>>>\n```\n\n### Testing\nYou can run integration and unit tests in interactive mode of IDE or in terminal mode using the command:\n```bash\npytest tests\u002Fintegration_tests\npytest tests\u002Funit_tests\n```\n\n#### E2E tests have 2 options for launching (legacy runner):\n- using a compiler based on the substrait code\n- using an already built docker image (docker runner)\n\n#### Local environment variables:\n- `LOCALNET_SH_PATH` - path to `localnet.sh` script in cloned subtensor repository (for legacy runner);\n- `BUILD_BINARY` - (`=0` or `=1`) - used with `LOCALNET_SH_PATH` for build or not before start localnet node (for legacy runner);\n- `USE_DOCKER` - (`=0` or `=1`) - used if you want to use specific runner to run e2e tests (for docker runner);\n- `FAST_BLOCKS` - (`=0` or `=1`) - allows you to run a localnet node in fast or non-fast blocks mode (for both types of runners).\n- `SKIP_PULL` - used if you are using a Docker image, but for some reason you want to temporarily limit the logic of updating the image from the repository.\n\n#### Using `docker runner` (default for now):\n- E2E tests with docker image do not require preliminary compilation\n- are executed very quickly\n- require docker installed in OS\n\nHow to use:\n```bash\npytest tests\u002Fe2e_tests\n```\n\n#### Using `legacy runner`:\n- Will start compilation of the collected code in your subtensor repository\n- you must provide the `LOCALNET_SH_PATH` variable in the local environment with the path to the file `\u002Fscripts\u002Flocalnet.sh` in the cloned repository within your OS\n- you can use the `BUILD_BINARY=0` variable, this will skip the copy step for each test.\n- you can use the `USE_DOCKER=0` variable, this will run tests using the \"legacy runner\", even if docker is installed in your OS\n\n#### How to use:\nRegular e2e tests run\n```bash\nLOCALNET_SH_PATH=\u002Fpath\u002Fto\u002Fyour\u002Flocalnet.sh pytest tests\u002Fe2e_tests\n```\n\nIf you want to skip re-build process for each e2e test\n```bash\nBUILD_BINARY=0 LOCALNET_SH_PATH=\u002Fpath\u002Fto\u002Fyour\u002Flocalnet.sh pytest tests\u002Fe2e_tests\n```\n\nIf you want to use legacy runner even with installed Docker in your OS\n```bash\nUSE_DOCKER=0 BUILD_BINARY=0 LOCALNET_SH_PATH=\u002Fpath\u002Fto\u002Fyour\u002Flocalnet.sh pytest tests\u002Fe2e_tests\n```\n\n---\n\n## Release Guidelines\nInstructions for the release manager: [RELEASE_GUIDELINES.md](.\u002Fcontrib\u002FRELEASE_GUIDELINES.md) document.\n\n## Contributions\nReady to contribute? Read the [contributing guide](.\u002Fcontrib\u002FCONTRIBUTING.md) before making a pull request.\n\n## License\nThe MIT License (MIT)\nCopyright © 2025 The Opentensor Foundation\nCopyright © 2025 Yuma Rao\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and\u002For sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n\n## Acknowledgments\n**learning-at-home\u002Fhivemind**\n","\u003Cdiv align=\"center\">\n\n# **Bittensor SDK** \u003C!-- omit in toc -->\n[![Discord聊天](https:\u002F\u002Fimg.shields.io\u002Fdiscord\u002F308323056592486420.svg)](https:\u002F\u002Fdiscord.gg\u002Fbittensor)\n[![CodeQL](https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Factions\u002Fworkflows\u002Fgithub-code-scanning\u002Fcodeql\u002Fbadge.svg)](https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Factions)\n[![PyPI版本](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fbittensor.svg)](https:\u002F\u002Fbadge.fury.io\u002Fpy\u002Fbittensor)\n[![Codecov](https:\u002F\u002Fcodecov.io\u002Fgh\u002Fopentensor\u002Fbittensor\u002Fgraph\u002Fbadge.svg)](https:\u002F\u002Fapp.codecov.io\u002Fgh\u002Fopentensor\u002Fbittensor)\n[![许可证：MIT](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FLicense-MIT-yellow.svg)](https:\u002F\u002Fopensource.org\u002Flicenses\u002FMIT) \n\n---\n\n## 互联网规模的神经网络 \u003C!-- omit in toc -->\n\n[Discord](https:\u002F\u002Fdiscord.gg\u002FqasY3HA9F9) • [网络](https:\u002F\u002Ftaostats.io\u002F) • [研究](https:\u002F\u002Fbittensor.com\u002Fwhitepaper) • [文档](https:\u002F\u002Fdocs.learnbittensor.org)\n\n\u003C\u002Fdiv>\n\n- [Bittensor概述](#overview-of-bittensor)\n- [Bittensor SDK](#the-bittensor-sdk)\n- [Bittensor是区块链还是AI平台？](#is-bittensor-a-blockchain-or-an-ai-platform)\n- [子网](#subnets)\n- [子网验证者和子网矿工](#subnet-validators-and-subnet-miners)\n- [Yuma共识](#yuma-consensus)\n- [发布说明](#release-notes)\n- [安装Bittensor SDK](#install-bittensor-sdk)\n- [升级](#upgrade)\n- [在macOS和Linux上安装](#install-on-macos-and-linux)\n  - [使用Bash命令安装](#install-using-a-bash-command)\n  - [使用`pip3 install`安装](#install-using-pip3-install)\n  - [从源码安装](#install-from-source)\n  - [使用Python解释器验证](#verify-using-python-interpreter)\n  - [通过列出axon信息验证](#verify-by-listing-axon-information)\n- [发布指南](#release-guidelines)\n- [贡献](#contributions)\n- [许可证](#license)\n- [致谢](#acknowledgments)\n\n---\n\n## Bittensor概述\n\n欢迎！Bittensor是一个开源平台，您可以在上面生产具有竞争力的数字商品。这些数字商品可以是机器智能、存储空间、计算能力、蛋白质折叠、金融市场预测等等。当您生产出最佳的数字商品时，您将获得**TAO**奖励。\n\n## Bittensor SDK\n\nOpentensor基金会（OTF）提供了所有开源工具，包括这个Bittensor SDK、代码库和文档，以及循序渐进的教程和指南，以帮助您参与Bittensor生态系统。\n\n- **开发者文档**: https:\u002F\u002Fdocs.learnbittensor.org。\n- **Bittensor初学者问答**: https:\u002F\u002Fdocs.learnbittensor.org\u002Fquestions-and-answers。\n- **Bittensor白皮书**: https:\u002F\u002Fbittensor.com\u002Fwhitepaper。\n\n这个Bittensor SDK包含可直接使用的Python包，用于与Bittensor生态系统交互、编写子网激励机制、子网矿工、子网验证者，以及查询subtensor（Bittensor网络的区块链部分）。\n\n---\n\n## Bittensor是区块链还是AI平台？\n\n在Bittensor中，有一个区块链，以及许多连接到这个区块链的平台。我们称这些平台为**子网**，而这个区块链则称为**subtensor**。因此，子网可以是与AI相关的，也可以是其他领域。Bittensor网络拥有多个不同的子网。所有这些子网都与subtensor区块链进行交互。如果您在想：“那么，子网并不是区块链的一部分，只是与它交互吗？”答案是：“是的，正是如此。”\n\n## 子网\n\n每一种数字商品都在一个独立的子网上生产。应用程序构建在这些特定的子网上。这些应用程序的最终用户将受益于这些应用。\n\n## 子网验证者和子网矿工\n\n子网存在于区块链之外，但与之相连，它们是链下竞赛，只有最优秀的生产者才能获得奖励。一个子网由链下的**子网验证者**组成，他们发起针对特定数字商品的竞赛；以及链下的**子网矿工**，他们通过生产最高质量的数字商品来参与竞争并作出响应。\n\n## Yuma共识\n\n得分会被分配给表现最佳的子网矿工和子网验证者。链上的Yuma共识会决定这些顶尖表现者的TAO奖励。Bittensor区块链，即subtensor，运行在去中心化的验证节点上，就像任何区块链一样。\n\n**此SDK仓库仅适用于Bittensor平台**\n此Bittensor SDK代码库仅适用于Bittensor平台，旨在帮助开发者创建子网并在Bittensor上构建工具。有关子网和应用程序的信息，请参考由子网所有者维护的子网专属网站。\n\n## 发布说明\n\n请参阅[Bittensor SDK发布说明](https:\u002F\u002Fdocs.learnbittensor.org\u002Fbittensor-rel-notes)。\n\n---\n\n## 安装Bittensor SDK\n\n在开始开发之前，您必须先安装Bittensor SDK，然后创建Bittensor钱包。\n\n## 升级\n\n如果您已经安装了Bittensor SDK，请确保升级到最新版本。运行以下命令：\n\n```bash\npython3 -m pip install --upgrade bittensor\n```\n\n---\n\n## 在macOS和Linux上安装\n\n### macOS用户注意事项\nmacOS预装的CPython安装是使用LibreSSL而非OpenSSL编译的。LibreSSL存在诸多问题，因此不被Bittensor所使用的库完全支持。所以，我们强烈建议使用Mac的用户首先通过[Homebrew](https:\u002F\u002Fbrew.sh\u002F)安装Python。此外，Rust FFI绑定[如果从预编译的wheel包安装（默认）]需要Homebrew安装的OpenSSL包。如果您选择使用macOS自带的Python版本，可能会出现无法正常工作的情况。\n\n### 安装方法\n您可以通过以下任一方式在本地机器上安装Bittensor SDK。**请务必在安装后验证您的安装**：\n- [使用Bash命令安装](#install-using-a-bash-command)。\n- [使用`pip3 install`安装](#install-using-pip3-install)。\n- [从源码安装](#install-from-source)。\n\n### 使用Bash命令安装\n\n这是最简单的方法。对于初学者来说非常推荐，因为它会在您的机器上尚未安装Python等依赖项时自动为您安装。将以下`bash`命令复制并粘贴到您的终端中：\n\n```bash\n\u002Fbin\u002Fbash -c \"$(curl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fopentensor\u002Fbittensor\u002Fmaster\u002Fscripts\u002Finstall.sh)\"\n```\n\n**适用于Ubuntu-Linux用户**\n如果您使用的是Ubuntu-Linux，脚本会提示您输入`sudo`权限以安装所有必需的apt-get软件包。\n\n### 使用`pip3 install`安装\n\n```bash\npython3 -m venv bt_venv\nsource bt_venv\u002Fbin\u002Factivate\npip install bittensor\n```\n\n### 从源代码安装\n\n1. 创建并激活虚拟环境\n\n    - 创建 Python 虚拟环境。请按照 [python.org 上的指南](https:\u002F\u002Fdocs.python.org\u002F3\u002Flibrary\u002Fvenv.html#creating-virtual-environments) 操作。\n\n    - 激活新创建的虚拟环境。请按照 [python.org 上的指南](https:\u002F\u002Fdocs.python.org\u002F3\u002Flibrary\u002Fvenv.html#how-venvs-work) 操作。\n\n2. 克隆 Bittensor SDK 仓库\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor.git\n```\n\n3. 安装\n\n您可以使用以下任一选项进行安装：\n\n- **安装 SDK**：运行以下命令以在上述虚拟环境中安装 Bittensor SDK。这也将安装 `btcli`。\n\n    ```python\n    pip install bittensor\n    ```\n\n- **安装带 `torch` 的 SDK**：安装带有 [`torch`](https:\u002F\u002Fpytorch.org\u002Fdocs\u002Fstable\u002Ftorch.html) 的 Bittensor SDK。\n\n   ```python\n    pip install bittensor[torch]\n    ```\n  在某些环境中，上述命令可能会失败，此时请使用带引号的命令，如下所示：\n\n  ```python\n    pip install \"bittensor[torch]\"\n    ```\n\n- **安装带 `cubit` 的 SDK**：安装带有 [`cubit`](https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fcubit) 的 Bittensor SDK。\n\n  1. 首先安装 `cubit`。请参阅 [安装](https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fcubit?tab=readme-ov-file#install) 部分。**仅支持 Python 3.9 和 3.10 版本**。\n  2. 然后使用 `pip install bittensor` 安装 SDK。\n\n### 故障排除\n#### SSL: CERTIFICATE_VERIFY_FAILED\n\n如果您遇到 `[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate` 错误，请使用命令 `python -m bittensor certifi` 来更新本地 SSL 证书。\n\n---\n\n## 在 Windows 上安装\n\n要在 Windows 上安装和运行 Bittensor SDK，您必须在 Windows 上安装 [**WSL 2**（适用于 Linux 的 Windows 子系统）](https:\u002F\u002Flearn.microsoft.com\u002Fen-us\u002Fwindows\u002Fwsl\u002Fabout)，并选择 [Ubuntu Linux 发行版](https:\u002F\u002Fgithub.com\u002Fubuntu\u002FWSL\u002Fblob\u002Fmain\u002Fdocs\u002Fguides\u002Finstall-ubuntu-wsl2.md)。\n\n完成上述安装后，请按照上面 [在 macOS 和 Linux 上安装](#install-on-macos-and-linux) 中描述的相同步骤进行安装。\n\n**警告**：**Windows 上的支持有限**\n虽然可以使用 WSL 2 在 Windows 机器上执行诸如委托、转账、注册、质押等钱包交易，但挖矿和验证操作不建议在 Windows 机器上进行，并且不受支持。\n\n---\n\n## 验证安装\n\n您可以通过以下任一方式验证安装：\n\n### 使用 `btsdk` 版本验证\n\n```bash\npython3 -m bittensor\n```\n\n上述命令将显示您刚刚安装的 `btsdk` 版本。\n\n### 使用 Python 解释器验证\n\n1. 在终端中启动 Python 解释器。\n\n    ```bash\n    python3\n    ```\n2. 在 Python 解释器中输入以下两行：\n\n    ```python\n    import bittensor as bt\n    print( bt.__version__ )\n    ```\n    Python 解释器的输出将如下所示：\n\n    ```python\n    Python 3.11.6 (main, Oct  2 2023, 13:45:54) [Clang 15.0.0 (clang-1500.0.40.1)] on darwin\n    Type \"help\", \"copyright\", \"credits\" or \"license\" for more information.\n    >>> import bittensor as bt\n    >>> print( bt.__version__ )\n    \u003C版本号>\n    ```\n    您将看到您安装的版本号代替 `\u003C版本号>`。\n\n### 通过列出轴突信息验证\n\n您还可以通过列出神经元的轴突信息来验证 Bittensor SDK 的安装。在 Python 解释器中输入以下内容：\n\n```python\nimport bittensor\nmetagraph = bittensor.Metagraph(1)\nmetagraph.axons[:10]\n```\nPython 解释器的输出将如下所示：\n\n```bash\n[AxonInfo( \u002Fipv4\u002F3.139.80.241:11055, 5GqDsK6SAPyQtG243hbaKTsoeumjQQLhUu8GyrXikPTmxjn7, 5D7u5BTqF3j1XHnizp9oR67GFRr8fBEFhbdnuVQEx91vpfB5, 600 ), AxonInfo( \u002Fipv4\u002F8.222.132.190:5108, 5CwqDkDt1uk2Bngvf8avrapUshGmiUvYZjYa7bfA9Gv9kn1i, 5HQ9eTDorvovKTxBc9RUD22FZHZzpy1KRfaxCnRsT9QhuvR6, 600 ), AxonInfo( \u002Fipv4\u002F34.90.71.181:8091, 5HEo565WAy4Dbq3Sv271SAi7syBSofyfhhwRNjFNSM2gP9M2, 5ChuGqW2cxc5AZJ29z6vyTkTncg75L9ovfp8QN8eB8niSD75, 601 ), AxonInfo( \u002Fipv4\u002F64.247.206.79:8091, 5HK5tp6t2S59DywmHRWPBVJeJ86T61KjurYqeooqj8sREpeN, 5E7W9QXNoW7se7B11vWRMKRCSWkkAu9EYotG5Ci2f9cqV8jn, 601 ), AxonInfo( \u002Fipv4\u002F51.91.30.166:40203, 5EXYcaCdnvnMZbozeknFWbj6aKXojfBi9jUpJYHea68j4q1a, 5CsxoeDvWsQFZJnDCyzxaNKgA8pBJGUJyE1DThH8xU25qUMg, 601 ), AxonInfo( \u002Fipv4\u002F149.137.225.62:8091, 5F4tQyWrhfGVcNhoqeiNsR6KjD4wMZ2kfhLj4oHYuyHbZAc3, 5Ccmf1dJKzGtXX7h17eN72MVMRsFwvYjPVmkXPUaapczECf6, 600 ), AxonInfo( \u002Fipv4\u002F38.147.83.11:8091, 5Hddm3iBFD2GLT5ik7LZnT3XJUnRnN8PoeCFgGQgawUVKNm8, 5DCQw11aUW7bozAKkB8tB5bHqAjiu4F6mVLZBdgJnk8dzUoV, 610 ), AxonInfo( \u002Fipv4\u002F38.147.83.30:41422, 5HNQURvmjjYhTSksi8Wfsw676b4owGwfLR2BFAQzG7H3HhYf, 5EZUTdAbXyLmrs3oiPvfCM19nG6oRs4X7zpgxG5oL1iK4MAh, 610 ), AxonInfo( \u002Fipv4\u002F54.227.25.215:10022, 5DxrZuW8kmkZPKGKp1RBVovaP5zHtPLDHYc5Yu82Z1fWqK5u, 5FhXUSmSZ2ec7ozRSA8Bg3ywmGwrjoLLzsXjNcwmZme2GcSC, 601 ), AxonInfo( \u002Fipv4\u002F52.8.243.76:40033, 5EnZN591jjsKKbt3yBtfGKWHxhxRH9cJonqTKRT5yTRUyNon, 5ChzhHyGmWwEdHjuvAxoUifHEZ6xpUjR67fDd4a42UrPysyB, 601 )]\n>>>\n```\n\n### 测试\n您可以在 IDE 的交互模式下或通过终端运行集成测试和单元测试，命令如下：\n```bash\npytest tests\u002Fintegration_tests\npytest tests\u002Funit_tests\n```\n\n#### E2E 测试有两种启动方式（旧版运行器）：\n- 使用基于 Substrait 代码的编译器；\n- 使用已构建好的 Docker 镜像（Docker 运行器）。\n\n#### 本地环境变量：\n- `LOCALNET_SH_PATH` - 克隆的 Subtensor 仓库中 `localnet.sh` 脚本的路径（用于旧版运行器）；\n- `BUILD_BINARY` - （`=0` 或 `=1`）- 与 `LOCALNET_SH_PATH` 一起使用，决定是否在启动 Localnet 节点之前进行构建（用于旧版运行器）；\n- `USE_DOCKER` - （`=0` 或 `=1`）- 如果您希望使用特定的运行器来执行 E2E 测试，则设置此变量（用于 Docker 运行器）；\n- `FAST_BLOCKS` - （`=0` 或 `=1`）- 允许以快速区块模式或非快速区块模式运行 Localnet 节点（适用于两种类型的运行器）。\n- `SKIP_PULL` - 当您使用 Docker 镜像时，如果出于某种原因需要暂时禁用从仓库更新镜像的逻辑，可以使用此变量。\n\n#### 使用 `docker 运行器`（目前默认）：\n- 使用 Docker 镜像的 E2E 测试无需预先编译；\n- 执行速度非常快；\n- 需要在操作系统中安装 Docker。\n\n使用方法：\n```bash\npytest tests\u002Fe2e_tests\n```\n\n#### 使用 `legacy 运行器`：\n- 将开始编译您 Subtensor 仓库中的代码；\n- 您必须在本地环境中提供 `LOCALNET_SH_PATH` 变量，并指定克隆的仓库中 `\u002Fscripts\u002Flocalnet.sh` 文件的路径；\n- 您可以使用 `BUILD_BINARY=0` 变量，这将跳过每次测试的复制步骤。\n- 您可以使用 `USE_DOCKER=0` 变量，即使您的操作系统中已安装 Docker，也会使用“旧版运行器”来运行测试。\n\n#### 使用方法：\n常规 E2E 测试运行：\n```bash\nLOCALNET_SH_PATH=\u002Fpath\u002Fto\u002Fyour\u002Flocalnet.sh pytest tests\u002Fe2e_tests\n```\n\n如果您希望跳过每次 E2E 测试的重新构建过程：\n```bash\nBUILD_BINARY=0 LOCALNET_SH_PATH=\u002Fpath\u002Fto\u002Fyour\u002Flocalnet.sh pytest tests\u002Fe2e_tests\n```\n\n如果您希望在已安装 Docker 的操作系统中仍使用旧版运行器：\n```bash\nUSE_DOCKER=0 BUILD_BINARY=0 LOCALNET_SH_PATH=\u002Fpath\u002Fto\u002Fyour\u002Flocalnet.sh pytest tests\u002Fe2e_tests\n```\n\n---\n\n## 发布指南\n发布经理的说明：请参阅 [RELEASE_GUIDELINES.md](.\u002Fcontrib\u002FRELEASE_GUIDELINES.md) 文档。\n\n## 贡献\n准备好贡献了吗？在提交拉取请求之前，请阅读 [贡献指南](.\u002Fcontrib\u002FCONTRIBUTING.md)。\n\n## 许可证\nMIT 许可证（MIT）\n版权所有 © 2025 OpenTensor 基金会  \n版权所有 © 2025 Yuma Rao\n\n特此授予任何人免费获取本软件及其相关文档文件（以下简称“软件”）的副本的权利，允许其在不受限制的情况下处理该软件，包括但不限于使用、复制、修改、合并、发布、分发、再许可和\u002F或销售该软件的副本，并允许向任何获得该软件的人提供服务，但须遵守以下条件：\n\n上述版权声明和本许可声明应包含在该软件的所有副本或实质性部分中。\n\n本软件按“原样”提供，不提供任何形式的明示或暗示担保，包括但不限于适销性、特定用途适用性和非侵权性。在任何情况下，作者或版权所有者均不对因本软件或其使用而引起的任何索赔、损害或其他责任负责，无论这些责任是基于合同、侵权行为或其他原因产生的。\n\n## 致谢\n**learning-at-home\u002Fhivemind**","# Bittensor SDK 快速上手指南\n\nBittensor 是一个去中心化的机器学习网络，允许开发者构建和竞争数字商品（如 AI 模型、存储、算力等），并通过 **TAO** 代币获得奖励。本指南将帮助中国开发者快速搭建开发环境并验证安装。\n\n## 1. 环境准备\n\n### 系统要求\n- **操作系统**：\n  - **推荐**：Linux (Ubuntu 20.04+) 或 macOS。\n  - **Windows**：必须安装 **WSL 2** (Windows Subsystem for Linux) 并选择 Ubuntu 发行版。*注意：Windows 原生不支持挖矿和验证节点操作，仅适合钱包管理。*\n- **Python 版本**：Python 3.9 或 3.10（部分组件如 `cubit` 严格限制在此范围）。\n- **macOS 特别提示**：\n  - macOS 自带的 Python 使用 LibreSSL，可能导致兼容性问题。**强烈建议**通过 [Homebrew](https:\u002F\u002Fbrew.sh\u002F) 安装 Python 和 OpenSSL：\n    ```bash\n    brew install python openssl\n    ```\n\n### 前置依赖\n确保已安装 `git` 和 `pip3`。建议使用虚拟环境以避免依赖冲突。\n\n## 2. 安装步骤\n\n你可以选择以下任一方式进行安装。国内用户若遇到网络延迟，可配置 pip 国内镜像源（如阿里云或清华源）。\n\n### 方法一：一键脚本安装（推荐新手）\n此方法会自动检测并安装缺失的依赖（如 Python）。\n\n```bash\n\u002Fbin\u002Fbash -c \"$(curl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fopentensor\u002Fbittensor\u002Fmaster\u002Fscripts\u002Finstall.sh)\"\n```\n*Ubuntu 用户可能需要输入 `sudo` 密码以安装系统级依赖。*\n\n### 方法二：使用 pip 安装（标准方式）\n建议先创建并激活虚拟环境：\n\n```bash\n# 创建虚拟环境\npython3 -m venv bt_venv\n\n# 激活环境 (Linux\u002FmacOS)\nsource bt_venv\u002Fbin\u002Factivate\n\n# 激活环境 (Windows WSL)\n# source bt_venv\u002Fbin\u002Factivate \n\n# 安装 Bittensor SDK (可选：添加国内镜像加速)\n# pip install bittensor -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple\npip install bittensor\n```\n\n**可选扩展安装：**\n- 如需 PyTorch 支持：\n  ```bash\n  pip install \"bittensor[torch]\"\n  ```\n- 如需 Cubit 支持（仅限 Python 3.9\u002F3.10，需先单独安装 cubit）：\n  ```bash\n  pip install bittensor\n  ```\n\n### 方法三：从源码安装\n适用于需要修改源码或开发贡献者。\n\n```bash\n# 1. 克隆仓库\ngit clone https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor.git\ncd bittensor\n\n# 2. 确保已激活虚拟环境，然后安装\npip install .\n```\n\n### 故障排除：SSL 证书错误\n若安装过程中出现 `[SSL: CERTIFICATE_VERIFY_FAILED]` 错误，请运行以下命令更新本地证书：\n```bash\npython -m bittensor certifi\n```\n\n## 3. 基本使用与验证\n\n安装完成后，请通过以下方式验证环境是否就绪。\n\n### 验证版本信息\n在终端运行以下命令，若输出版本号则说明安装成功：\n```bash\npython3 -m bittensor\n```\n\n### Python 交互式验证\n启动 Python 解释器并执行以下代码，检查是否能正确导入库并获取网络节点信息：\n\n```python\nimport bittensor as bt\n\n# 打印版本号\nprint(bt.__version__)\n\n# 获取子网元数据并列出前 10 个 Axon 信息\nmetagraph = bt.Metagraph(1)\nprint(metagraph.axons[:10])\n```\n\n**预期输出示例：**\n你将看到类似以下的列表，包含节点的 IP、热键、冷键等信息：\n```text\n[AxonInfo( \u002Fipv4\u002F3.139.80.241:11055, 5GqDsK..., 5D7u5B..., 600 ), ...]\n```\n\n### 下一步\n环境验证通过后，你可以：\n1. 创建钱包：`btcli wallet new_coldkey`\n2. 注册子网或成为验证者\u002F矿工。\n3. 访问官方文档 [docs.learnbittensor.org](https:\u002F\u002Fdocs.learnbittensor.org) 深入学习子网开发。","一家初创 AI 公司希望构建一个去中心化的文本生成网络，通过聚合全球开发者的模型能力来提供低成本、高可用的 API 服务。\n\n### 没有 bittensor 时\n- **信任与验证难题**：难以核实分散在全球的独立模型提供者是否真实运行了高质量模型，还是仅在返回随机结果以骗取费用。\n- **激励分配复杂**：需要自行设计复杂的评分算法和支付系统来公平分配收益，开发成本高且容易因机制不公导致参与者流失。\n- **单点故障风险**：依赖少数几个中心化服务器或云厂商，一旦节点宕机或被攻击，整个服务将立即中断，缺乏弹性。\n- **冷启动困难**：在没有初始流量和资金的情况下，很难吸引足够的优质模型开发者加入网络，导致服务能力不足。\n\n### 使用 bittensor 后\n- **自动共识验证**：利用 Yuma 共识机制，子网验证者自动对矿工输出的智能商品进行质量评分，无需人工干预即可识别并奖励最优模型。\n- **原生代币激励**：直接基于 TAO 代币构建激励机制，表现最好的模型提供者自动获得链上奖励，大幅降低了设计和维护经济系统的门槛。\n- **去中心化高可用**：模型分布在数千个独立的矿工节点上，单个节点失效不影响整体网络，实现了互联网规模的容错能力。\n- **开放竞争生态**：任何开发者均可作为矿工接入特定子网参与竞争，凭借模型质量即可快速获取收益，迅速解决了网络冷启动问题。\n\nbittensor 通过将模型质量评估与代币激励自动化结合，让开发者能专注于优化算法，而无需操心基础设施的信任与分发难题。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002Flatent-to_bittensor_77f9a837.png","latent-to","Latent","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002Flatent-to_88f7e6a4.jpg","",null,"Latentholdings","https:\u002F\u002Flatent.to\u002F","https:\u002F\u002Fgithub.com\u002Flatent-to",[24,28,32,36],{"name":25,"color":26,"percentage":27},"Python","#3572A5",99.7,{"name":29,"color":30,"percentage":31},"Shell","#89e051",0.2,{"name":33,"color":34,"percentage":35},"Dockerfile","#384d54",0,{"name":37,"color":38,"percentage":35},"Makefile","#427819",1427,458,"2026-04-15T00:26:54","MIT",4,"Linux, macOS","未说明",{"notes":47,"python":48,"dependencies":49},"Windows 用户必须安装 WSL 2 并选择 Ubuntu 发行版才能运行；虽然钱包操作可在 Windows (WSL2) 上进行，但不推荐也不支持在 Windows 机器上进行挖矿和验证操作；macOS 用户强烈建议使用 Homebrew 安装 Python 和 OpenSSL，因为系统自带的 LibreSSL 存在兼容性问题；若遇到 SSL 证书验证失败错误，可运行 'python -m bittensor certifi' 修复。","3.9, 3.10 (cubit 支持); 其他安装方式未明确限制，但示例显示支持 3.11",[6,50,51,52,53],"torch (可选)","cubit (可选，仅限 Python 3.9\u002F3.10)","OpenSSL (macOS 需通过 Homebrew 安装)","LibreSSL (macOS 自带，不推荐)",[55,56,57],"开发框架","图像","Agent",[59,60,61,62,63,64,65,66,67,68,69,70],"neural-networks","machine-learning","p2p-network","substrate","polkadot","blockchain","cryptocurrency","ai","deep-learning","p2p","torch","pytorch",2,"ready","2026-03-27T02:49:30.150509","2026-04-15T13:13:19.146413",[76,81,86,91,96,101],{"id":77,"question_zh":78,"answer_zh":79,"source_url":80},34376,"如何在钱包或 Windows 上解除 TAO 代币的质押（Unstake）？","首先，请通过 Tao.app 或 Taostats 输入您的冷密钥（Cold Key）地址查询质押状态。如果查询结果显示您没有任何质押记录（'not staked to anything'），则无法执行解除质押操作，因为实际上并没有资产被锁定。如果确认有质押但 UI 无选项，通常是因为当前版本限制或需使用 CLI；但在 Windows 上安装 CLI 若遇到 Rust\u002FOpenSSL 编译错误，建议先检查链上数据确认是否真的存在质押，避免无效排查。","https:\u002F\u002Fgithub.com\u002Flatent-to\u002Fbittensor\u002Fissues\u002F2966",{"id":82,"question_zh":83,"answer_zh":84,"source_url":85},34377,"为什么使用 `get_delegate_by_hotkey` 或 `get_delegates` 获取验证者收益时返回 0 或报错？","这是因为 `return_per_1000` 和 `total_daily_return` 这两个指标目前在链上公式中存在缺陷，导致数值毫无意义（例如数值偏差约 10^6 倍，或者包含了未转换的 Alpha 排放总和）。维护者已确认这些指标目前不可用并计划弃用（deprecated）。如果遇到 `TypeError: argument 'encoded': 'list' object cannot be converted to 'PyBytes'` 错误，也是由于相关数据结构解码问题所致。建议暂时不要依赖这两个字段进行计算，等待官方修复或移除。","https:\u002F\u002Fgithub.com\u002Flatent-to\u002Fbittensor\u002Fissues\u002F2564",{"id":87,"question_zh":88,"answer_zh":89,"source_url":90},34378,"E2E 测试中的 `test_staking` 或 `test_liquidity` 频繁失败怎么办？","这些测试失败通常是由于底层链（subtensor）的已知 Bug 导致的，而非用户代码问题。具体来说：\n1. `test_staking` 的波动性失败是由 `remove_stake_limit` 函数中的 Bug 引起的，官方已在 subtensor 仓库创建问题追踪（issue #1962）并修复。\n2. `test_liquidity` 报错 `InsufficientBalance(Module)` 往往是测试环境的状态竞争或余额计算时序问题。\n如果是开发者遇到此类问题，请参考官方已合并的修复 PR（如 #3025, #3020），普通用户可忽略此类测试失败，不影响主网功能。","https:\u002F\u002Fgithub.com\u002Flatent-to\u002Fbittensor\u002Fissues\u002F3015",{"id":92,"question_zh":93,"answer_zh":94,"source_url":95},34379,"为什么简单的类型注解更新会导致大量 E2E 测试失败？","这通常不是代码变更本身引起的，而是测试套件本身存在不稳定性（Flaky tests）。例如 `test_commit_reveal_v3`、`test_staking` 和 `test_subtensor_functions` 在多个 Python 版本（3.9-3.13）中随机失败。维护者已确认部分测试（如流动性测试）存在固有的波动性，并将相关错误统一归类到现有的测试稳定性问题中进行修复。遇到这种情况，建议重新运行测试或查看最新的 CI 修复提交。","https:\u002F\u002Fgithub.com\u002Flatent-to\u002Fbittensor\u002Fissues\u002F3019",{"id":97,"question_zh":98,"answer_zh":99,"source_url":100},34380,"如何为所有外部调用（extrinsic）添加 `period` 或 `era` 参数？","这是一个功能增强需求，旨在允许用户在发送交易时指定生存期（period\u002Fera）。该任务已被社区开发者认领并正在实施中。如果您需要此功能，请关注相关的 Pull Request 进度。目前标准库可能尚未完全支持在所有 extrinsic 中直接传递该参数，需等待合并后的新版本发布。","https:\u002F\u002Fgithub.com\u002Flatent-to\u002Fbittensor\u002Fissues\u002F2810",{"id":102,"question_zh":103,"answer_zh":104,"source_url":105},34381,"Bittensor Python 包中的 `subtensor` 模块是否有重构计划以支持异步？","是的，`bittensor.subtensor` 模块正在进行大规模重构，包括代码风格优化和逻辑重构。关于异步支持（async implementation），团队曾考虑将其纳入此次重构，但最终决定在单独的 PR 中独立实现。如果您急需异步功能，请留意后续专门针对异步支持的更新分支或 PR。","https:\u002F\u002Fgithub.com\u002Flatent-to\u002Fbittensor\u002Fissues\u002F1908",[107,112,117,122,127,132,137,142,147,152,157,162,167,172,177,182,187,192,197,202],{"id":108,"version":109,"summary_zh":110,"released_at":111},271662,"v10.2.0","## 变更内容\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3218 中重新实现了冷密钥交换功能。\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3250 中使 SDK 与新的 `Balancer 交换` 逻辑保持一致。\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3254 中修复了多项链上变更。\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3249 中为 SDK 添加了子网回购 extrinsic 支持。\n* @thewhaleking 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3253 中添加了 py.typed 和 pkg 工具。\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3256 中将 `subnet_buyback` extrinsic 重命名为 `add_stake_burn`。\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3258 中修复了费用假设问题。\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3259 中，`get_subnet_prices` 使用新的 runtime API 调用并提供回退机制。\n* 文档：@droppingbeans 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3257 中将文档 URL 更新为 docs.learnbittensor.org。\n* 文档：@droppingbeans 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3263 中修复了损坏的 changelog URL 和 README 中的拼写错误。\n* 文档：@droppingbeans 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3266 中将热修复工作流中的分支名称“develop”修正为“staging”。\n* @thewhaleking 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3265 中处理了来自 asi 的 scaleobj 数据，并将其转换为浮点数。\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3267 中修复了批处理测试问题。\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3274 中清理了技术债务。\n* @ibraheem-abe 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3276 中回滚并更新了平衡器相关代码。\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3277 中更新了端到端 GitHub 工作流。\n* @droppingbeans 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3272 中修复了 README 中的拼写错误：“pacakge”应为“package”。\n* 文档：@droppingbeans 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3271 中修复了贡献者文档中的拼写错误。\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3269 中重新设计了屏蔽交易功能。\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3284 中重新启用了 alpha 费用。\n* @ibraheem-abe 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3280 中更新了 MEV 屏蔽期。\n* @thewhaleking 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3289 中为贡献者信息添加了签名提交详情。\n* @thewhaleking 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3288 中改进了与 InfoBase 相关的类型注解。\n* @ibraheem-abe 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3290 中更新了对 btwallet 的依赖版本锁定。\n* 更改日志更新：@ibraheem-abe 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3291 中更新了 10.2.0 版本的更改日志。\n* 发布\u002F10.2.0：@ibraheem-abe 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3292 中完成了 10.2.0 版本的发布。\n\n## 新贡献者\n* @droppingbeans 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3257 中做出了首次贡献。\n\n**完整更改日志**：https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fcompare\u002Fv10.1.0...v10.2.0","2026-03-20T00:50:19",{"id":113,"version":114,"summary_zh":115,"released_at":116},271663,"10.2.0rc1","## 变更内容\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3218 中重新实现了冷密钥交换功能。\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3250 中使 SDK 与新的 `Balancer 交换` 逻辑保持一致。\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3254 中修复了多项链上变更。\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3249 中为 SDK 添加了子网回购 extrinsic 支持。\n* @thewhaleking 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3253 中添加了 py.typed 和 pkg 工具。\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3256 中将 `subnet_buyback` extrinsic 重命名为 `add_stake_burn`。\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3258 中修复了费用假设问题。\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3259 中，`get_subnet_prices` 使用了新的 runtime API 调用及回退机制。\n* 文档：@droppingbeans 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3257 中将文档 URL 更新为 docs.learnbittensor.org。\n* 文档：@droppingbeans 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3263 中修复了损坏的变更日志 URL 和 README 中的拼写错误。\n* 文档：@droppingbeans 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3266 中将热修复工作流中的分支名称 `develop` 修正为 `staging`。\n* @thewhaleking 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3265 中处理了来自 asi 的 scaleobj 数据，并将其转换为浮点数。\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3267 中修复了批处理测试。\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3274 中清理了技术债务。\n* @ibraheem-abe 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3276 中回滚并更新了平衡器相关代码。\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3277 中更新了端到端 GitHub 工作流。\n* @droppingbeans 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3272 中修复了 README 中的拼写错误：将 `pacakge` 修正为 `package`。\n* 文档：@droppingbeans 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3271 中修复了贡献者文档中的拼写错误。\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3269 中重新设计了屏蔽交易功能。\n\n## 新贡献者\n* @droppingbeans 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3257 中完成了首次贡献。\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fcompare\u002Fv10.1.0...10.2.0rc1","2026-03-04T01:07:45",{"id":118,"version":119,"summary_zh":120,"released_at":121},271664,"v10.1.0","## 变更内容\n* 由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3206 中发布的 Release\u002Fv10.0.0\n* 由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3230 中发布的 Release\u002Fv10.0.1\n* 由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3236 中修复的异步元图初始化问题\n* 由 @Dairus01 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3231 中澄清的 `get_revealed_commitment_by_hotkey` 返回值顺序和单位\n* 由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3239 中跳过的用户流动性端到端测试（待重构）\n* 由 @Olexandr88 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3238 中修复的工具函数中不正确的 Optional 类型注解\n* 由 @Olexandr88 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3241 中移除的未使用测试辅助函数\n* 由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3234 中添加的 `start_call_delay_hyperparameter` 支持\n* 由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3243 中改进的 `is_fast_blocks`\n* 由 @thewhaleking 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3246 中添加的关于区块 5611654 解码的说明\n\n## 新贡献者\n* @Dairus01 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3231 中完成了首次贡献\n* @Olexandr88 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3238 中完成了首次贡献\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fcompare\u002Fv10.0.1...v10.1.0","2026-01-29T23:29:41",{"id":123,"version":124,"summary_zh":125,"released_at":126},271665,"v10.0.1","## 变更内容\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3207 中优化了 GH 工作流\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3210 中进行了虽小但仍然重要的改动\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3214 中重构了 neuron 和 metagraph\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3217 中修复了文档字符串\n* 临时测试失败，用于工作流测试目的，由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3226 中实现\n* @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3225 中修复了 nightly 工作流\n* @thewhaleking 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3209 中更新了 contrib\n* MeV：修复了一个奇怪的边界情况，由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3228 中完成\n* 将版本号提升至 10.0.1，并更新变更日志，由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3229 中完成\n\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fcompare\u002Fv10.0.0...v10.0.1","2025-12-22T19:05:58",{"id":128,"version":129,"summary_zh":130,"released_at":131},271666,"v10.0.0","## 变更内容\n\n* [v10] @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3204 中添加关于 MeV HK 使用的警告\n* [v10] @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3202 中避免负余额进行 add_stake 操作\n* [v10] 修复：ibraheem-abe 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3199 中修正 MEV 屏蔽中的 nonce 参数使用问题\n* [v10] @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3192 中进行 MeV 更新\n* [v10] @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3154 中更新 RootClaim 功能\n* 新特性：@codomposer 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3168 中为 bittensor.core.stream 模块添加全面的单元测试\n* [v10] @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3163 中支持 `MEV 屏蔽保护`\n* [v10] @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3188 中修复 `get_next_epoch_start_block` 中的 `blocks_until` 问题\n* [v10] @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3189 中处理交易具有过早创世区块的问题\n* [v10] @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3190 中添加 `AdminUtills` 秤支持\n* [v10] @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3192 中再次更新 `MeV` 功能\n* 新特性：@codomposer 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3169 中为 bittensor.core.threadpool 模块添加全面的单元测试\n* [v10] @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3136 中实现 Subtensor 基于秤的 GenericCall 创建逻辑\n* [v10] 修复：@basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3142 中简化 `AxonInfo.__eq__` 方法并添加类型检查\n* [v10] @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3140 中添加代理秤支持\n* [v10] @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3145 中引入新逻辑并进行小幅重构\n* [v10] @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3143 中改进 btlogging 日志记录功能\n* [v10] @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3147 中优化代理功能\n* [v10] @thewhaleking 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3139 中为获取元图添加区块向后兼容性\n* [v10] @thewhaleking 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3149 中移除嵌套 asyncio 并放宽依赖要求\n* [v10] @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3150 中为 `create_pure_proxy_extrinsic` 添加警告和保护机制\n* [v10] @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3151 中添加 `Async\u002FSubtensor.get_stake_info_for_coldkeys` 方法\n* [v10] 修复：@Arthurdw 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3155 中解决 Python 3.14 的语法警告并更新依赖项\n* [v10] @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3116 中将默认 era.period 应用于所有 extrinsics\n* [V10] @thewhaleking 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3123 中引入 Python 3.14 支持\n* [v10] @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3124 中修复 Python 3.14 测试问题\n*","2025-12-10T00:40:11",{"id":133,"version":134,"summary_zh":135,"released_at":136},271667,"v10.0.0rc5","## 变更内容\n* [v10] 发布\u002Fv10.0.0rc4，由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3161 中完成\n* [v10] RootClaim 更新，由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3154 中完成\n* 功能：为 bittensor.core.stream 模块添加全面的单元测试，由 @codomposer 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3168 中完成\n* [v10] `MEV Shield Protection` 支持，由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3163 中完成\n* [v10] 修复 `get_next_epoch_start_block` 中的 `blocks_until` 问题，由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3188 中完成\n* [v10] 交易具有古老的创世区块，由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3189 中完成\n* [v10] 添加 `AdminUtills` 秤支持，由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3190 中完成\n* [v10] `MeV` 更新，由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3192 中完成\n* 功能：为 bittensor.core.threadpool 模块添加全面的单元测试，由 @codomposer 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3169 中完成\n\n## 新贡献者\n* @codomposer 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3168 中完成了他们的首次贡献\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fcompare\u002Fv10.0.0rc4...v10.0.0rc5","2025-12-08T20:48:23",{"id":138,"version":139,"summary_zh":140,"released_at":141},271668,"v10.0.0rc4","## 变更内容\n* [v10] 发布\u002Fv10.0.0rc3，由@basfroman在https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3135中完成\n* [v10] Subtensor基于Pallet的GenericCall创建逻辑。由@basfroman在https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3136中完成\n* [v10] 再见，Subvortex :( 由@basfroman在https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3141中完成\n* [v10] 修复：简化`AxonInfo.__eq__`方法并添加类型检查，由@basfroman在https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3142中完成\n* [v10] 添加代理Pallet支持，由@basfroman在https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3140中完成\n* [v10] 新逻辑 + 小规模重构，由@basfroman在https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3145中完成\n* [v10] 改进btlogging日志记录功能，由@basfroman在https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3143中完成\n* [v10] 改进代理功能，由@basfroman在https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3147中完成\n* [v10] 增加区块向后兼容性，用于获取元图数据。由@thewhaleking在https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3139中完成\n* [v10] 移除嵌套asyncio并放宽依赖要求，由@thewhaleking在https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3149中完成\n* [v10] 为`create_pure_proxy_extrinsic`添加警告和保护机制，由@basfroman在https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3150中完成\n* [v10] 添加`Async\u002FSubtensor.get_stake_info_for_coldkeys`方法，由@basfroman在https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3151中完成\n* [v10] 让RootClam测试真正运行起来，由@basfroman在https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3153中完成\n* [v10] 修复GitHub Actions环境变量在来自分支的PR中不可用的问题（来自分支），由@basfroman-backup在https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3158中完成\n* [v10] 更新CHANGELOG.md并提升rc版本号，由@basfroman在https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3160中完成\n* [v10] 修复：解决Python 3.14语法警告并更新依赖项，由@Arthurdw在https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3155中完成\n\n## 新贡献者\n* @basfroman-backup在其首次贡献中完成了https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3158\n\n**完整变更日志**：https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fcompare\u002Fv10.0.0rc3...v10.0.0rc4","2025-11-26T18:55:23",{"id":143,"version":144,"summary_zh":145,"released_at":146},271669,"v10.0.0rc3","## 变更内容\n* [v10] 将 `max_retries` 重命名为 `max_attempts`，以使其含义更加明确，由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3108 中完成\n* [v10] 发布\u002Fv10.0.0rc2，由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3107 中完成\n* [v10] 将默认的 era.period 应用于所有 extrinsics，由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3116 中完成\n* [v10] 更新子网所有者，由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3119 中完成\n* [v10] 在测试中分离热钥和冷钥，由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3120 中完成\n* [V10] python3.14，由 @thewhaleking 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3123 中完成\n* [v10] 修复 py3.14 测试问题，由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3124 中完成\n* [v10] 实现“Root claim\u002F空投”机制，由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3117 中完成\n* [v10] 修复 RootClaim 相关问题，由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3130 中完成\n* [v10] 支持 EMA InFlow，由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3131 中完成\n* [v10] 修复拼写错误，由 @basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3134 中完成\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fcompare\u002Fv10.0.0rc2...v10.0.0rc3","2025-11-05T22:27:16",{"id":148,"version":149,"summary_zh":150,"released_at":151},271670,"v9.12.2","## 变更内容\n* 使用 uv pip 进行端到端依赖安装，由 thewhaleking 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3109 中实现\n* 修复 `test_liquidity` 测试，由 basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3114 中完成\n* 将默认的 `era.period` 应用于所有 subtensor 外部调用，由 basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3115 中实现\n* 为快速运行时设置根所有者，由 basfroman 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3118 中完成\n* 允许使用 Python 3.14，由 thewhaleking 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3122 中实现\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fcompare\u002Fv9.12.1...v9.12.2","2025-10-30T19:55:51",{"id":153,"version":154,"summary_zh":155,"released_at":156},271671,"v9.12.1","## 变更内容\n* 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3092 中，由 @basfroman 替换错误信息。\n* 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3090 中，由 @thewhaleking 更新 ws_shutdown_timer 的类型提示和文档字符串。\n* 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3101 中，@basfroman 对测试进行了注释，直至新的治理机制到位。\n* 在 https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3104 中，由 @basfroman 将 scalecodec 版本升级至 1.2.12。\n\n\n**完整变更日志**: https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fcompare\u002Fv9.12.0...v9.12.1","2025-10-20T19:48:10",{"id":158,"version":159,"summary_zh":160,"released_at":161},271672,"v9.12.0","## What's Changed\r\n\r\n* Websocket Stub Generator Script by @thewhaleking in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3067\r\n* set auto hotkey per subnet by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3062\r\n* Update get_neuron_for_pubkey_and_subnet to use block_hash instead of block and block_hash by @yuma-doc in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3084\r\n* Improves `determine_block_hash` method of `AsyncSubtensor` by @thewhaleking in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3087\r\n\r\n## New Contributors\r\n* @yuma-doc made their first contribution in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3084\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fcompare\u002Fv9.11.1...v9.12.0","2025-10-08T17:50:06",{"id":163,"version":164,"summary_zh":165,"released_at":166},271673,"v9.11.1","## What's Changed\r\n* Fix bug with unlocking keypair in mechanism extrinsics by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3070\r\n* Changelog + bumping  version 9.11.1 by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3071\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fcompare\u002Fv9.11.0...v9.11.1","2025-09-26T00:46:02",{"id":168,"version":169,"summary_zh":170,"released_at":171},271674,"v9.11.0","## What's Changed\r\n* Fix broken links in CONTRIBUTING.md by @Gimzou in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3041\r\n* Fix after `Rate limit hyperparams setting` by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3052\r\n* Fix SubtensorApi unit tests by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3054\r\n* add commitments data into metagraph by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3055\r\n* add getting OwnerHyperparamRateLimit in e2e test by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3059\r\n* update make file by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3058\r\n* `Subnet Mechanism` logic by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3056\r\n* let do less calculations on `get_subnet_price` by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3063\r\n* deps: update munch to prevent deprecation warning by @Arthurdw in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3061\r\n* bumping version + CHANGELOG.md by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3068\r\n\r\n## New Contributors\r\n* @Gimzou made their first contribution in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3041\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fcompare\u002Fv9.10.1...v9.11.0","2025-09-25T23:12:51",{"id":173,"version":174,"summary_zh":175,"released_at":176},271675,"v9.10.1","## What's Changed\r\n* Async Get_balances at a specific block returns current block by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3043\r\n* Fix bug if `block==0` by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3044\r\n* docs: Update Bittensor documentation link by @Galoretka in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3040\r\n* Update changelog + version to 9.10.1 by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3048\r\n* Release\u002F9.10.1 by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3049\r\n\r\n## New Contributors\r\n* @Galoretka made their first contribution in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3040\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fcompare\u002Fv9.10.0...v9.10.1","2025-09-05T20:54:01",{"id":178,"version":179,"summary_zh":180,"released_at":181},271676,"v9.10.0","## What's Changed\r\n* Fixes broken e2e tests by @thewhaleking in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3020\r\n* Add async crv4 e2e test by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3022\r\n* Use `TimelockedWeightCommits` instead of `CRV3WeightCommitsV2` by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3023\r\n* fix: reflect correct return types for get_delegated by @Arthurdw in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3016\r\n* Fix `flaky` e2e test (tests.e2e_tests.test_staking.test_safe_staking_scenarios) by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3025\r\n* Separation of test modules into separate text elements as independent matrix elements by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3027\r\n* Improve `move_stake` extrinsic (add `move_all_stake` parameter) by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3028\r\n* Fix tests related with disabled `sudo_set_commit_reveal_weights_enabled` by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3026\r\n* Update changelog + version by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3031\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fcompare\u002Fv9.9.0...v9.10.0","2025-08-28T23:10:59",{"id":183,"version":184,"summary_zh":185,"released_at":186},271677,"v9.9.0","## What's Changed\r\n* Release\u002F9.8.3 by @thewhaleking in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2982\r\n* Fix crv3 tests after devnet-ready get `CRV3WeightCommitsV2` by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2978\r\n* Add webhook for failed nightly tests by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2987\r\n* Fix liquidity test (non-fast-blocks node) by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2988\r\n* improve nightly logic by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2989\r\n* improve nightly 2 by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2990\r\n* Add `get_stake_weight` methods by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2985\r\n* Handles both exceptions for Swap pallet fetching by @thewhaleking in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2991\r\n* chore: fix typo by @socialsister in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2969\r\n* optimisations mostly related to liquidity_list by @thewhaleking in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2980\r\n* Transfers improvements by @thewhaleking in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2993\r\n* Remove ownership check in `transfer_stake_extrinsic` and `swap_stake_extrinsic` by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2996\r\n* Missed await by @thewhaleking in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3002\r\n* chore: fix typo by @lechpzn in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3001\r\n* Adds note for installing on macOS by @thewhaleking in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3004\r\n* Bump bittensor-wallet version by @thewhaleking in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3005\r\n* Format Error with string docs by @thewhaleking in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3006\r\n* `LoggingMachine` initialization updated to explicitly call both parent constructors by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3008\r\n* Fixed `moving_price` conversion from `I96F32` to float by @mcjkula in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3010\r\n* Add new CRv4 logic by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2999\r\n* UV Fix by @thewhaleking in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3011\r\n* Major version locks drand by @thewhaleking in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3014\r\n\r\n## New Contributors\r\n* @socialsister made their first contribution in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2969\r\n* @lechpzn made their first contribution in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3001\r\n* @mcjkula made their first contribution in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F3010\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fcompare\u002Fv9.8.3...v9.9.0","2025-08-12T17:08:05",{"id":188,"version":189,"summary_zh":190,"released_at":191},271678,"v9.8.3","## What's Changed\r\n* Release\u002F9.8.2 by @ibraheem-abe in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2963\r\n* improve make file by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2965\r\n* Move all workflows from `app.circleci.com` to `GH actions` by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2970\r\n* Improve `changelog` workflow by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2973\r\n* Add SECURITY.md by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2976\r\n* Improve test infrastructure by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2974\r\n* Add labels checker by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2977\r\n* AsyncSubtensor.get_metagraph_info use specified block\u002Fhash by @thewhaleking in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2979\r\n* Updates version+changelog by @thewhaleking in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2981\r\n\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fcompare\u002Fv9.8.2...v9.8.3","2025-07-18T18:06:14",{"id":193,"version":194,"summary_zh":195,"released_at":196},271679,"v9.8.2","## What's Changed\r\n* edit docstrings by @MichaelTrestman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2951\r\n* fix and improve e2e stake fee test by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2959\r\n* Make DynamicInfo backwards compatible by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2958\r\n* Update staking fee logic by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2961\r\n* 9.8.2: Bumps version and changelog by @ibraheem-abe in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2962\r\n\r\n## New Contributors\r\n* @MichaelTrestman made their first contribution in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2951\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fcompare\u002Fv9.8.1...v9.8.2","2025-07-10T23:13:11",{"id":198,"version":199,"summary_zh":200,"released_at":201},271680,"v9.8.1","## What's Changed\r\n* New logic to get price for `DynamicInfo` by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2952\r\n* Safe staking: Updates safe staking limits by @ibraheem-abe in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2950\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fcompare\u002Fv9.8.0...v9.8.1","2025-07-09T02:09:47",{"id":203,"version":204,"summary_zh":205,"released_at":206},271681,"v9.8.0","## What's Changed\r\n* Update e2e-tests (metagraph_info, staking) by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2907\r\n* Add method to fetch parents for child hotkeys by @thewhaleking in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2906\r\n* Add local env variable for `config.wallet.*` by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2908\r\n* Subtensor docstring cleanup by @thewhaleking in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2910\r\n* Release\u002F9.7.1 by @ibraheem-abe in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2911\r\n* Backmerge\u002F9.7.1 by @thewhaleking in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2913\r\n* chore(ci): upgrade Docker GitHub Actions to latest stable versions by @MamunC0der in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2912\r\n* improve `scripts\u002Finstall.sh` by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2914\r\n* Cleanup websocket integration data by @thewhaleking in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2915\r\n* chore: fix some typos in comment by @eveneast in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2868\r\n* Add `SKIP_PULL` variable for conftest.py by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2920\r\n* Update `SubnetIdentity` with subtensor related v3 changes by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2923\r\n* add time for flaky test by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2924\r\n* Add `root_set_pending_childkey_cooldown_extrinsic` by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2925\r\n* New logic for alpha low and high (0.025 \u003C= alpha_low \u003C= alpha_high \u003C= 1) by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2927\r\n* Fix Typo in test_commit_weights.py by @zeevick10 in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2922\r\n* New websockets option by @thewhaleking in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2917\r\n* Retry archive node support by @thewhaleking in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2909\r\n* Fix: Safe staking e2e test by @ibraheem-abe in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2929\r\n* fix type conversion in axon preprocess by @Windfarer in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2930\r\n* [LINT] Improved type hints by @Arthurdw in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2918\r\n* Set balance netuids in staking tests by @thewhaleking in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2934\r\n* Improve subnet method logic by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2937\r\n* Update `SubnetHyperparameters` with v2 by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2938\r\n* upgrade numpy by @thewhaleking in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2936\r\n* decode metadata with empty value by @thewhaleking in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2940\r\n* Reset bonds by @andreea-popescu-reef in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2876\r\n* Add new logic for `unstake_all` extrinsics by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2897\r\n* SelectiveMetagraph back by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2887\r\n* add unstake_all to SubtensorApi.extrinsics by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2943\r\n* Integrate Liquidity Provider feature by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2939\r\n* Fix e2e test metagraph after chain change by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2945\r\n* Extend `liquidity` logic by @basfroman in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2949\r\n* Updates btwallet dependency (3.1.0) by @ibraheem-abe in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2948\r\n* Release\u002F9.8.0 by @ibraheem-abe in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2947\r\n\r\n## New Contributors\r\n* @MamunC0der made their first contribution in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2912\r\n* @eveneast made their first contribution in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2868\r\n* @Windfarer made their first contribution in https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fpull\u002F2930\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fopentensor\u002Fbittensor\u002Fcompare\u002Fv9.7.0...v9.8.0","2025-07-08T00:48:43",[208,218,226,235,243,252],{"id":209,"name":210,"github_repo":211,"description_zh":212,"stars":213,"difficulty_score":214,"last_commit_at":215,"category_tags":216,"status":72},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[57,55,56,217],"数据工具",{"id":219,"name":220,"github_repo":221,"description_zh":222,"stars":223,"difficulty_score":214,"last_commit_at":224,"category_tags":225,"status":72},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[55,56,57],{"id":227,"name":228,"github_repo":229,"description_zh":230,"stars":231,"difficulty_score":71,"last_commit_at":232,"category_tags":233,"status":72},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",156033,"2026-04-14T23:32:00",[55,57,234],"语言模型",{"id":236,"name":237,"github_repo":238,"description_zh":239,"stars":240,"difficulty_score":71,"last_commit_at":241,"category_tags":242,"status":72},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",108322,"2026-04-10T11:39:34",[55,56,57],{"id":244,"name":245,"github_repo":246,"description_zh":247,"stars":248,"difficulty_score":71,"last_commit_at":249,"category_tags":250,"status":72},6121,"gemini-cli","google-gemini\u002Fgemini-cli","gemini-cli 是一款由谷歌推出的开源 AI 命令行工具，它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言，它提供了一条从输入提示词到获取模型响应的最短路径，无需切换窗口即可享受智能辅助。\n\n这款工具主要解决了开发过程中频繁上下文切换的痛点，让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用，还是执行复杂的 Git 操作，gemini-cli 都能通过自然语言指令高效处理。\n\n它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口，具备出色的逻辑推理能力；内置 Google 搜索、文件操作及 Shell 命令执行等实用工具；更独特的是，它支持 MCP（模型上下文协议），允许用户灵活扩展自定义集成，连接如图像生成等外部能力。此外，个人谷歌账号即可享受免费的额度支持，且项目基于 Apache 2.0 协议完全开源，是提升终端工作效率的理想助手。",100752,"2026-04-10T01:20:03",[251,57,56,55],"插件",{"id":253,"name":254,"github_repo":255,"description_zh":256,"stars":257,"difficulty_score":71,"last_commit_at":258,"category_tags":259,"status":72},4721,"markitdown","microsoft\u002Fmarkitdown","MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具，专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片（含 OCR）、音频（含语音转录）、HTML 乃至 YouTube 链接等多种格式的解析，能够精准提取文档中的标题、列表、表格和链接等关键结构信息。\n\n在人工智能应用日益普及的今天，大语言模型（LLM）虽擅长处理文本，却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点，它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式，成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外，它还提供了 MCP（模型上下文协议）服务器，可无缝集成到 Claude Desktop 等 LLM 应用中。\n\n这款工具特别适合开发者、数据科学家及 AI 研究人员使用，尤其是那些需要构建文档检索增强生成（RAG）系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性，但其核心优势在于为机器",93400,"2026-04-06T19:52:38",[251,55]]