How can I query the bittensor network using btcli?

Question:

btcli query

Enter wallet name (default): my-wallet-name
Enter hotkey name (default): my-hotkey
Enter uids to query  (All): 18

Note that my-wallet-name, my-hotkey where actually correct names. My wallet with one of my hotkeys. And I decided to query the UID 18.

But btcli is returning an error with no specific message

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', sufix = '')
  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

What does this means?
How can I query an UID correctly?

I have try to look for UIDs to query but the tool does not give me any.
I was expecting a semantic error or a way to look for a UID i can query but not a TypeError.

Asked By: eduardogr

||

Answers:

It appears that command is broken and should be removed.
I opened an issue for you here: https://github.com/opentensor/bittensor/issues/1085

You can use the python API like:

import bittensor
UID: int = 18
subtensor = bittensor.subtensor( network="nakamoto" )
forward_text = "testing out querying the network"
wallet = bittensor.wallet( name = "my-wallet-name", hotkey = "my-hotkey" )    
    
dend = bittensor.dendrite( wallet = wallet )
neuron = subtensor.neuron_for_uid( UID )
endpoint = bittensor.endpoint.from_neuron( neuron )

    
response_codes, times, query_responses = dend.generate(endpoint, forward_text, num_to_generate=64)

response_code_text = response_codes[0]
query_response = query_responses[0]
Answered By: Camtensor
Categories: questions Tags:
Answers are sorted by their score. The answer accepted by the question owner as the best is marked with
at the top-right corner.