Page tree
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Current »



Type of change request


Epic link


Target release


What happened to existing iroha-cli?

The existing CLI tool for Iroha is built on C++ and uses legacy primitives. It was not updated for a long time and it is considered relatively hard to maintain. It was decided to discontinue support of the existing CLI and archive its source code.

What's next?

The new CLI is going to be developed to substitute the outdated one.
The key features of the new CLI are:

  • Command-line parameters support (it has to be possible to do actions not exclusively in an interactive mode but using sole command line parameters too)
  • An ability to operate with multi-signature transactions (MST)
  • All the recently added commands, queries and permissions to Iroha have to be supported in CLI (in general, the CLI has to support everything that the latest Iroha can do)
  • Improved interactive mode experience
  • A way for genesis blocks composing
  • Everything that was broken has to work (smile) (saving and loading transactions or queries to a file / from a file, etc)

Besides the items listed above, the new CLI is going to be written in Python 3 and uploaded to PyPi repository. Such an approach gives us a benefit of ease of use and there will be no more need to compile and, in the worst case, the need to set up an environment to build a C++ app with potential dependency hell resolution pleasure.

Functional details: 

Environmental objectives: None


#Change descriptionAffected componentChange motivationDependency (optional)
1What is changedWhere it is changed

Why it is done

After #1

Before #1


Research strategy

#Research activityDetailsAcceptance criteriaResponsible (accepter) 

Documentation effort

#Target readerDocumentation description

QA activity

#Validation activityIntentionActionsExpected result 
1TestingTest component X and check if …

Given X,

When Y


When Y1

Then Z


Then Z1

  • No labels