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!
I have just tried to use the testnet dispenser (https://bank.testnet.algorand.network/) and it worked.
If you see the dispenser transaction, can you run
goal node status and copy-paste the output between triple backquotes ```?
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.
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 Last Catchpoint: 590000#W6H37ANSP5LJISDCXJIHAV3YVALFNKWXCMV2ZWFIRFQK6TOYOVMA 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
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.
Yes, this is my output:
Account 2 address: GYKCLDGIPA4D3XHH7ZB4MTZSYGYQ2DN53V4QGHUC7ZVREP4LRNPVNTJBEM Account 3 address: M3XAN7KQTV27JNNYPG2JZLCVDQEHBRYILFZ6K6CFNUSWKV6AJGLRIPQKN4 Transaction ID = ILCSEIAU7PPLYW6LDGKSS4LQWONHNOLCI3VYUDV4PIE3QFI3NS2Q 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> algod_client.send_transaction(stxn) 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?
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.
Thanks for your advice. I’ll give the other options a try then.