completed
Cardano IntelliJ IDEA Plugin (MVP)
Current Project Status
complete
Total
amount
Received
$15,000
Total
amount
Requested
$15,000
Total
Percentage
Received
100.00%
$15,000 Received out of $15,000
Solution

Build an IntelliJ plugin with following features:

Problem

Plugin to support development on Cardano inside IntelliJ IDE. One of the major blocker for mainstream developers is unfamiliar / no tooling.

Team

1 member

This proposal was approved and funded by the Cardano Community via Project F3: Developer Ecosystem Catalyst funding round.

Summary


IDE is an integral part of day to day activities of a developer. A good IDE helps the developer to iterate faster and become productive. Usually every developer prefers to work inside his/her preferred IDE if possible. A good IDE should help developers to rapidly prototype to test any new technology.

JetBrains IntelliJ is one of the popular IDE used by Java programmers. JetBrains also has other IDEs for language like Go lang (GoLand), Javascript / html (Webstorms). The plugin written by IntelliJ IDE can be easily compatible with other IDEs from JetBrains.

The long term goal of this project is to provide end to end development lifecycle support for Cardano Blockchain using IntelliJ IDE and other compatible JetBrains products. Developers should be able to interact with Cardano blockchain directly from their IntelliJ IDE for transaction submission, Asset creation / transfer, Smart Contract deployment & testing.

The smart contract support is not yet available in Cardano Blockchain, but there are other features in the Cardano blockchain which can be supported in IntelliJ IDE through a plugin.

The current proposal is to create a MVP release for Cardano IntelliJ IDEA plugin which helps developers to become familiar with the Cardano blockchain. This can be done by providing easy access to different features currently supported by Cardano.

The MVP release will provide a good foundation, so that the plugin can be enhanced to support Smart Contract and other advanced features later.

Some of the features which will be supported in this MVP are

  • Configure a remote or local Cardano node in the IDE

  • Start & Stop local Cardano node from the IDE

  • Account Management

  • Create and post transaction from IntelliJ IDE

  • Create transaction with meta data

  • Native token management ( Create, Transfer etc.)

 

Supported IDEs


The MVP release of this plugin will support the following IDEs.

  • IntelliJ IDEA Community

  • IntelliJ IDEA Ultimate

  • IntelliJ IDEA Education

The support for other JetBrains IDEs is optional in this release.

 

Source Code & Licensing


The plugin source will be hosted at https://github.com/bloxbean under MIT license.

The released binaries will be published to JetBrains Official Plugin repository. Developers can install this plugin using IntelliJ’s standard plugin installation steps. Alternatively, the plugin binaries will also be available on GITHub project site.

 

Features


The following features will be supported in this version of the plugin.

Node Configuration Account Management Transaction Management Native Token Management

 

  1. Node Configuration

Developers should be able to configure one or more remote or local Cardano nodes inside their IDE.

The feasibility of type of integration will be decided during the project. But the current plans are

Configure a local node using using docker - The components needed for this are Cardano-node and Cardano-wallet.

Developer can start and stop both cardano-node & cardano-wallet component on their local machine directly from their IDE.

Remote Node (Cardano-wallet hosted remotely) - Developer can configure a remote Cardano-wallet REST API endpoint inside IntelliJ IDE.

  1. Account Management

Managing test accounts during development could be a painful process. Using account management, developers can create accounts, check account details (balance, assets). The accounts managed by account management module can be easily accessible from various user interfaces like Transaction UI, Native Asset UI etc.

  1. Transaction Management

A dedicate UI to create and post transaction inside IntelliJ IDE. Developer can also include meta data and other possible fields during transaction submission. The plugin will automatically get the network params and populate/create the transaction accordingly. This will help developers to quickly post a transaction without going through a multi-step process.

  1. Native Token Management

Dedicate UI for native asset creation and transfer. The IDE will keep record of created native assets, so that those can be referred easily inside the IDE.

 

Delivery plan


MVP release 1 – 8th week

MVP release final – 10th Week

Monthly milestone release can be planned based on the progress.

 

GitHub


https://github.com/bloxbean

https://github.com/satran004/

 

Relevant experience or Similar work in past


  1. algoDEA – Algorand IntelliJ Plugin

  2. Aion4j IntelliJ Plugin

Comments

Monthly Reports

close

Playlist

  • EP2: epoch_length

    Authored by: Darlington Kofa

    d. 3 se. 24
    Darlington Kofa
  • EP1: 'd' parameter

    Authored by: Darlington Kofa

    d. 4 se. 3
    Darlington Kofa
  • EP3: key_deposit

    Authored by: Darlington Kofa

    d. 3 se. 48
    Darlington Kofa
  • EP4: epoch_no

    Authored by: Darlington Kofa

    d. 2 se. 16
    Darlington Kofa
  • EP5: max_block_size

    Authored by: Darlington Kofa

    d. 3 se. 14
    Darlington Kofa
  • EP6: pool_deposit

    Authored by: Darlington Kofa

    d. 3 se. 19
    Darlington Kofa
  • EP7: max_tx_size

    Authored by: Darlington Kofa

    d. 4 se. 59
    Darlington Kofa
0:00
/
~0:00