I have decided to write a tutorial because I myself got lost in setting up Algorand development environment. So lets see if I can add any clarification for people and also create a reference place for myself. As everything in web3 moves fast this tutorial notes could become outdated and if they do I will do my best to either update the post or simply make a new one.
Development environment tools
The key tools you need are: Docker and your IDE, I am running VSCode for my IDE and im running Docker Desktop on MacOS, you MUST also have Docker compose installed.
To install Docker if you do not have it installed already: https://www.docker.com/products/docker-desktop/ this link helps with install https://docs.docker.com/desktop/install/mac-install/
Docker will need privliged mode to run, so it will ask you for your pwd to install the Docker helper.
I created a folder under my user home on MacOS called Projects/Algo and then did a git clone from sandbox and pyteal-course.
I use the test network to start the sandbox up in dev just add it to the up call
./sandbox up dev
I got an error when I tried to run the ./build.sh this was due to permissions
chmod u+r+x build.sh
Where going to enter sandbox
./sandbox enter algod
Some cool goal commands to try to get yourself familar with the sandbox setup:
One of the first thing is viewing our account list
goal account list
It is recommened to export the account names (hash) into local variables to make it easier to call them later.
export ONE=[copy the account hash here]
Now you can access the first account without refering to its hash name
goal app create --creator $ONE --approval-prog /data/build/approval.teal --clear-prog /data/build/clear.teal --global-ints 0 --global-byteslices 0 --local-byteslices 3 --local-ints 1
To view app information
goal app read —local —from $ONE —app-id = 1
You can also export application IDs into variables for easy reading
export APP=1
goal app read —local —from $ONE —app-id = $APP