Create Publication

We are looking for publications that demonstrate building dApps or smart contracts!
See the full list of Gitcoin bounties that are eligible for rewards.

Article Thumbnail

Making Development Easier with AlgoDEA IntelliJ Plugin

Overview

Algorand is a public blockchain and protocol that aims to deliver decentralization, scale and security for all participants. It provides various unique features like ASAs, Atomic Transfers, Stateless & Stateful Smart Contracts and much more.

AlgoDEA IntelliJ plugin provides end to end development life-cycle on the Algorand blockchain using IntelliJ IDE.

Using this plugin, developers can create and test both stateless and stateful smart contracts directly from their IntelliJ IDE. Some of the other key features supported by this plugin are editor support for TEAL & PyTeal files, ASA management, Atomic Transfers, Test account management.

The goal of this plugin is to increase developer productivity by simplifying various interactions with the Algorand blockchain. Due to simple consistent development workflow in the IDE, developers can iterate faster during the development stage.

Supported IntelliJ IDEs

This plugin currently works with the following IntelliJ IDEs with version 2020.2 and above.

  • IntelliJ IDEA Community Edition
  • IntelliJ IDEA Ultimate Edition
  • IntelliJ IDEA Educational Edition

Features

Below is the quick summary of the main features supported in this plugin.

Account Management

Using this feature, developers can create & manage both standard and multi-signature accounts. These accounts are easily accessible from different Algorand specific functionalities in the IDE.

Account Management

Node Configuration

Developers can add or configure one or more Algorand Nodes inside their IDE. The supported node types are custom Algorand Node, Purestake.io node and Sandbox.

Node Configuration

TEAL Support

The plugin supports various editor level features for TEAL files. Below are the few key features supported in the editor for the TEAL file type.

  • Context specific code completion
  • Syntax Highlighter and Error Highlighting
  • Op-Code usage help

Code Completion

PyTeal Support

Developers can also create PyTeal files and use them in stateless or stateful smart contracts. With the “PyTeal Compile” option, a PyTeal file can be easily compiled. All editor level support is enabled by the default Python plugin in IntelliJ IDE.

PyTeal

Stateless Smart Contract

Developers can easily create, and test stateless smart contracts directly inside their IDE. The plugin comes with many out-of-box stateless smart contract templates.

Stateless Contract

A dedicated user interface simplifies the creation of logic Signatures as well as sending a transaction signed with a logic signature.

Logic Signature

Stateful Smart Contract

The plugin supports the full lifecycle of stateful smart contracts. All types of stateful smart contract transactions are supported through a dedicated user interface.

Stateful Contract

Payment Transaction

Using this feature, developers can easily transfer Algo or any ASA from one account address to another. It simplifies the complexity of creating, submitting and monitoring a payment transaction through a simplified user interface.

Payment Transaction

Atomic Transfer

The creation of an Atomic Transfer transaction is a multi-step process. With an intuitive user interface, the plugin simplifies this process. Users can quickly create and submit Atomic Transfer transactions.

Atomic Transfers

Asset Management

The plugin supports full lifecycle of the Algorand Standard Asset inside the IntelliJ IDE. A new ASA can be easily created, managed through the “Asset Management” UI. The standard “Transfer” UI supports both Algo and Algorand Standard Assets.

Asset Management

Export Transaction

Using “Export Transaction” and “Export Signed Transaction”, developers can serialize a transaction to a JSON file which can be used for different purposes later. These options are available through every transaction submission UI in IntelliJ IDE.

Dry run

Using Dry Run support, developers can easily debug stateful or stateless contract calls. This feature is also available for contract calls in Atomic Transfers.

Getting Started Video

To see AlgoDEA plugin in action, check out this “Getting started” video.

Resources

Detailed step-by-step guides and videos can be found at AlgoDEA Docs site.

The plugin source code can be found at AlgoDEA GitHub.