So if Algorand Wallet can get on Testnet without Sandbox, why am I even running it?

Something I don’t quite understand about the “Your First Transaction” demonstration (and I’m doing my best to avoid sounding confrontational):

I’ve got all three of the accounts I created in the “Getting Started” Java class (from the Java “My First Transaction” page) tied to a wallet on my Chromebook, and I have the addresses and passphrases for them securely stored, so that I can use a slightly modified version of “Getting Started” to pass “Monopoly Algos” around among those accounts. And I’ve got the wallet switched over to Testnet, so I can see the “Monopoly Algos” circulating around.

So why am I still running a sandbox node locally? :confused: :thinking: :face_with_diagonal_mouth: The wallet on my Chromebook is clearly talking to a node somewhere. I can understand why the “Your First Transaction” page would seek to demonstrate both the APIs and the Sandbox node, especially since there’s no way of knowing what a given developer is going to need (indeed, I haven’t a clue what I’ll eventually need), but can the “Getting Started” Java class connect to other nodes?

Essentially, when developing on Algorand, you’ll encounter 3 networks:

  • MainNet: that’s where the real Algos and real money is. You never directly develop on MainNet, it is only to deploy your finalized project.
  • TestNet: it is a network which is very similar to MainNet except it has fake Algos that you can get with a dispenser. Most likely, you want to deploy your beta software there.
  • Private network: it is a network you create and fully control. For advanced testing and debugging, private networks are often more convenient: you fully control everything, you can get as many fake Algos as you want, you’re not bothered by other people’s transactions, and you can set it up in a mode where transactions are executed immediately rather than having to wait 5s per block.

(Technically, there are also BetaNet and DevNet, the former is to get access to beta features while the later is only useful if you want to develop the core of the Algorand blockchain - you would know if you need access to DevNet.)

Now, if you want to connect to MainNet/TestNet, you have 3 solutions:

  • Using an API service (free or paid): that’s what your wallet is using behind the scenes
  • Running your own node
  • Using sandbox with the right parameters: this is easy but limited as sandbox for TestNet is not archival and does not provide an indexer

See 1. Workspace Setup - Algorand Developer Portal for details

On the other hand, if you want to run a private network, by far, the simplest solution is to use sandbox that manages everything for you.

That is why the developer documentation uses sandbox.
But if you prefer to start immediately without sandbox (and later learn sandbox, as it’s very convenient nevertheless), you can do it. I’d recommend in that case to follow GitHub - algorandfoundation/buildweb3: Repository for the Algorand class of the "Building with Blockchain for Web 3.0" course (https://buildweb3.org)

1 Like

Hmm. I can see the GitHub repository just fine, and its readme file. But when I follow the link to this “buildweb3,” it refuses to connect.

What do you mean by “it refuses to connect”?
Can you post screenshots?

I see, the issue was that the repo was originally a homework for a class.
The website of the class is no more available but you don’t need it.
I’ve updated the repo and removed the buildweb3.org link

2 posts were split to a new topic: javax.net.ssl.SSLException: Received fatal alert: protocol_version when using java-algorand-sdk with PureStake API

I moved the last post to a new topic as the question was more general.