TestNet dispenser issue

I created a wallet and an account on Testnet by setting up and running a node and was trying to dispense algos to it. I got a code 200 success message, but when I list the account and check the balance, it always shows 0, and I’ve had this problem since yesterday.
I’ve also run the goal node status command to sync up, but I always get the same results. Is there some additional step that I’m skipping? Thanks!

Hi @Juan,

I have just tried to use the testnet dispenser (https://bank.testnet.algorand.network/) and it worked.

Can you check your account balance using a block explorer: https://testnet.algoexplorer.io/ or https://goalseeker.purestake.io/algorand/testnet (copy-paste your address in the search text field)?

If you see the dispenser transaction, can you run goal node status and copy-paste the output between triple backquotes ```?

Hi Fabrice,

Thank you! I saw the balance on the algo explorer, and the transactions were completed. But when I check the balance running goal account list, it still shows 0 algos. Could you just please tell me where I should paste the goal node status output?

Just post here with it, what is likely happening is your node is not synced up to the blockchain (and won’t be for days) so the local node isn’t aware your balance has changed until it reaches the block with the dispenser transaction.

There are a few methods to quickly get up and running depending on your goals. The sandbox docker solution from Algorand isn’t production grade but allows you to have a node and play around with the software. (https://medium.com/algorand/introducing-sandbox-the-quick-way-to-get-started-on-algorand-8082c2d18854). There is also the new catch-up mechanism and/or both explorers listed above offer free APIs as well.

1 Like

Hi Tim,

Thanks for your reply. This is what I get after running the goal node status:

Time since last block: 2.0s
Sync Time: 64.2s
Last consensus protocol: https://github.com/algorandfoundation/specs/tree/5615adc36bad610c7f165fa2967f4ecfa75125f0
Next consensus protocol: https://github.com/algorandfoundation/specs/tree/5615adc36bad610c7f165fa2967f4ecfa75125f0
Round for next consensus protocol: 599983
Next consensus protocol supported: true
Genesis ID: testnet-v1.0
Genesis hash: SGO1GKSzyE7IEPItTxCByw9x8FmnrCDexi9/cOUJOiI=```

I'll check up on this later and give the other methods a try as well.

So you are indeed not synced with the network. You just need to wait to be synced up, or as said @Tim, you can use sandbox to sync up faster (for development purpose only).

When you are synced, Sync Time should be 0.0s.
Furthermore, the Last committed block should match the one in the block explorers.

Ok, thanks a lot for the explanation. I just had another question, I was doing the “Create an Asset using Python” tutorial and I was able to retrieve the accounts based on the mnemonics, create the transaction object, sign it and print the Tx ID, but I’ve always been getting a bad url request error whenever I try to send it with the algod_client.send_transaction(stxn) instruction . Is it possible that it has something to do with me not being in sync with the TestNet?

Can you send the exact error message?

It is possible that if you are not synced, assets are not yet supported by the protocol used at the round you are seeing, hence you cannot create assets.

Hi Fabrice,
Yes, this is my output:

Traceback (most recent call last):
  File "/.local/lib/python3.8/site-packages/algosdk/algod.py", line 74, in algod_request
    resp = urlopen(req)
  File "/usr/lib/python3.8/urllib/request.py", line 222, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.8/urllib/request.py", line 531, in open
    response = meth(req, response)
  File "/usr/lib/python3.8/urllib/request.py", line 640, in http_response
    response = self.parent.error(
  File "/usr/lib/python3.8/urllib/request.py", line 569, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.8/urllib/request.py", line 502, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.8/urllib/request.py", line 649, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 400: Bad Request

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "03-CreateAssetTN.py", line 126, in <module>
  File "/.local/lib/python3.8/site-packages/algosdk/algod.py", line 280, in send_transaction
    return self.send_raw_transaction(encoding.msgpack_encode(txn),
  File "/.local/lib/python3.8/site-packages/algosdk/algod.py", line 267, in send_raw_transaction
    return self.algod_request("POST", req, data=txn, **kwargs)["txId"]
  File "/.local/lib/python3.8/site-packages/algosdk/algod.py", line 82, in algod_request
    raise error.AlgodHTTPError(raisex)
algosdk.error.AlgodHTTPError: asset transaction not supported

This is exactly the issue.
The error is algosdk.error.AlgodHTTPError: asset transaction not supported which comes from the fact that the node has not reached a round where asset transactions are supported yet.

You need to wait for this round (or to be fully in synced)

I see. Do you approximately know how long would I have to wait for? Otherwise, I guess the fastest option would be to use an API right?

Hi Juan,

Yes, echoing Tim’s post above.

If you’re developing and want to get started fast I’d recommend using Sandbox. This is pretty quick to spin up and take down on any network.

And the other option is to use an API service, if you are just accessing the algod APIs and don’t need command line tools.

Hi Liz,

Thanks for your advice. I’ll give the other options a try then.

1 Like