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.
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.
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
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.
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.
A dedicated user interface simplifies the creation of logic Signatures as well as sending a transaction signed with a 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.
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.
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.
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.
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.