使用btcli查询Bittensor网络报错:Dendrite无forward_text属性
使用btcli查询Bittensor网络时遇错误及解决方法
操作步骤
我执行了以下操作尝试查询Bittensor网络:
btcli query Enter wallet name (default): my-wallet-name Enter hotkey name (default): my-hotkey Enter uids to query (All): 18
注:my-wallet-name和my-hotkey是钱包及对应热键的正确名称,目标查询UID 18。
报错信息
返回的错误日志如下:
AttributeError: 'Dendrite' object has no attribute 'forward_text' Exception ignored in: <function Dendrite.__del__ at 0x7f5655e3adc0> Traceback (most recent call last): File "/home/eduardo/repos/bittensor/venv/lib/python3.8/site-packages/bittensor/_dendrite/dendrite_impl.py", line 107, in __del__ bittensor.logging.success('Dendrite Deleted', suffix = '') File "/home/eduardo/repos/bittensor/venv/lib/python3.8/site-packages/bittensor/_logging/__init__.py", line 341, in success cls() File "/home/eduardo/repos/bittensor/venv/lib/python3.8/site-packages/bittensor/_logging/__init__.py", line 73, in __new__ config = logging.config() File "/home/eduardo/repos/bittensor/venv/lib/python3.8/site-packages/bittensor/_logging/__init__.py", line 127, in config parser = argparse.ArgumentParser() File "/usr/lib/python3.8/argparse.py", line 1672, in __init__ prog = _os.path.basename(_sys.argv[0]) TypeError: 'NoneType' object is not subscriptable
错误含义解析
- 核心错误:
AttributeError: 'Dendrite' object has no attribute 'forward_text'
这是因为你使用的btcli版本与目标UID所属子网的接口不兼容。forward_text是旧版本Bittensor中文本子网的交互方法,若你本地是新版本,或目标子网并非文本类型,就会触发这个错误——本质是用错了查询方式。 - 次生错误:
TypeError: 'NoneType' object is not subscriptable
这是核心错误触发后,Dendrite对象清理时日志模块出现的异常,属于衍生问题,解决核心错误后这个会自动消失。
正确查询UID的方法
- 确认子网类型:不同子网的查询命令不同,先查询UID18所属的子网:
btcli subnet list - 通用节点信息查询:若要查看节点的基本信息(stake、rank、端点等),使用以下命令:
或者已知子网ID时,直接指定子网查询:btcli subnet inspect --uid 18btcli metagraph --netuid <子网ID> - 文本节点交互查询:如果目标是文本子网的节点,用专用命令测试节点响应:
btcli text prompt --uid 18 --wallet.name my-wallet-name --wallet.hotkey my-hotkey
如何找到可查询的UID
- 执行
btcli subnet list查看所有子网的ID和类型,定位你要查询的子网。 - 针对目标子网,执行
btcli metagraph --netuid <子网ID>,会列出该子网所有活跃节点的UID、状态、性能数据等完整信息。
内容的提问来源于stack exchange,提问作者eduardogr
相关产品推荐
相关产品推荐

