Skip to content

Get Ready To Build

Hello, Developer! Welcome to Algorand!

This guide will help you set up your development environment and create your first Algorand project with AlgoKit. By the end of this guide, you’ll be set up to tackle the rest of the tutorials we have for you.

But first, what is AlgoKit?

AlgoKit is a developer toolbox for building on Algorand.

It provides a curated set of tools that work well together while still letting you stay in control. Use only what you need! Whether you’re writing a script, experimenting locally, or building a full application.

With support for TypeScript and Python, you can build smart contracts and interact with the chain using familiar languages, without losing access to lower-level primitives when needed.

Out of the box, AlgoKit provides:

  • CLI (Command Line Interface) utilities for interacting with the network and managing projects
  • A LocalNet environment for running a full Algorand network on your machine
  • Language tooling for TypeScript and Python development
  • Helpers and utilities for working with accounts, transactions, and assets

If you want to learn more about AlgoKit before diving in, check out the documentation linked below, and when you’re ready, head to the next section.

Before installing AlgoKit, make sure you have the following:

Section titled “Recommended IDE (Intergrated Development Environment) Extensions”

To maximize your Algorand smart contract development experience, install dedicated Visual Studio Code extensions for Python and TypeScript. These extensions work alongside standard language servers to provide Algorand-specific validation, diagnostics, and code automation, so you get instant feedback and fixes as you write contracts.

The Algorand TypeScript language extension brings language server-powered capabilities to your smart contract authoring experience in Visual Studio Code. It extends the results from your installed TypeScript language server to provide Algorand TypeScript-specific diagnostics and code actions.

  1. Install this Algorand TypeScript language extension

  2. Install the puya-ts package. We recommend adding it as a project dev dependency.

  3. Enable the Algorand TypeScript language server (algorandTypeScript.languageServer.enable) for your workspace (not required if using a new AlgoKit project)

  4. Open an Algorand TypeScript smart contract file (.algo.ts)

Configure the language server with the following features:

  1. algorandTypeScript.languageServer.enable: Enables the Algorand TypeScript language server. By default, the language server is disabled.

  2. algorandTypeScript.languageServer.logLevel: Configures the verbosity of the messages Algorand TypeScript language server displays in the output window.

For more details, refer to Typescript - Visual Studio Marketplace

  1. To install AlgoKit, run the following command from a terminal.

    pipx install algokit
  2. If you used AlgoKit before, update it with pipx:

    pipx upgrade algokit
  3. After the installation completes, restart the terminal.

To verify AlgoKit is installed correctly, run the following command:

algokit --version

Output similar to the following should be displayed:

algokit, version 2.6.0

When building smart contracts, it is recommended to build and test on a local Algorand blockchain running on your computer first. Deploying and calling smart contracts on MainNet (the live public blockchain for production) costs real money. Deploying on TestNet (a replica of MainNet for testing) can slow down the iteration cycle of early projects. Therefore, it is recommended to first test on a local blockchain. Once everything works, move to TestNet for final testing, and then deploy to MainNet to launch your application.

AlgoKit supports using a local version of the Algorand blockchain. To start an instance of this LocalNet, first open Docker Desktop on your computer and then run the following command from the terminal:

algokit localnet start

This should start an instance of the LocalNet within Docker. If you open the Docker Desktop application, you should see something similar to the following:

Docker Desktop LocalNet Instance

Now, let’s create an Algorand project with AlgoKit. We will refer to these projects as “AlgoKit projects.” AlgoKit provides a series of templates for you to use depending on the type of project you want to create.

This guide will walk you through using either the TypeScript or Python smart contract starter template. Choose the language that you are most comfortable with.

For this guide, we will use the TypeScript smart contract starter template.

  1. To create a new AlgoKit project, you can easily do so by running:

    algokit init

    This launches an interactive setup. You will first be prompted to select the type of project you want to create. For this quick start guide, we will use the TypeScript smart contract template, so select the Smart Contracts option.

    AlgoKit Init: Select project template
    AlgoKit Init: Select project template
  2. Next, AlgoKit will ask you what programming language you want to use for the smart contract. Let’s select TypeScript as our smart contract language by pressing Enter.

    AlgoKit Init: Select smart contract language
    AlgoKit Init: Select smart contract language
  3. Then AlgoKit will ask you for the name of the project. Let’s name it hello-algorand, but if you want to name it differently, feel free to do so! After entering the name, press Enter to continue.

    AlgoKit Init: Specifying folder name
    AlgoKit Init: Specifying folder name

  4. Next, you can set the name of the smart contract. We will keep it as it is for now.

    AlgoKit Init : Naming the smart contract app
    AlgoKit Init : Naming the smart contract app

  5. Next, you can select the template preset. The Starter preset is for quickly implementing and testing certain features, whereas the Production preset is for production-ready applications. For this guide, let’s select Starter.

    AlgoKit Init: Select template preset
    AlgoKit Init: Select template preset

  6. Then choose whether you want to run the algokit project bootstrap command to install the necessary dependencies. Say yes by pressing “y”. This process can take a few minutes.

    AlgoKit Init: Running the bootstrap command
    AlgoKit Init: Running the bootstrap command

  7. Finally, AlgoKit will ask you if you want to initialize a Git repository. Let’s say yes by pressing “y” so that we can easily push our AlgoKit project to GitHub.

    AlgoKit Init: Initialize Git repository
    AlgoKit Init: Initialize Git repository

  8. Once finished, VS Code should automatically be opened with the initialized project if VS Code is set as your default editor. If not, cd into the project directory and open the project in your IDE of choice.

  9. This starter app contains one smart contract written in Algorand TypeScript named HelloWorld in the smart_contracts/hello_world/contract.algo.ts file. The contract has a method called hello that takes in a String and returns a String.

    AlgoKit Starter Contract
    AlgoKit Starter Contract

At this point, you should have:

  • A running LocalNet
  • A generated project
  • Dependencies installed

If not, go back and double check the above steps before continuing.

Great work! Now your machine should be set up with everything you need to build using AlgoKit.

We will return to this Smart contract template later on in this tutorial series, but first, we are going to take a look at one more tool that will help you throughout your development journey: (Live Onchain Resource Analyzer). When you’re ready, head to the next section.