Icon-cli - Command Line Interface for Interacting with ICON


We are seeking funding to build icon-cli, a command line interface (similar to terracli on Terra) for interacting with the ICON network. With icon-cli, users will be able to send transaction, stake and delegate, query blockchain metrics, interact with dApps, and more from a single command line interface.

While consumer-centric UI/UX is a necessity for adoption of platforms like Balanced, ICONbet, and others, we believe there is great value in having a powerful Swiss Army knife-like CLI tool. Such a tool is useful for automation, and other high-security use cases where installing Chrome and setting up an ICONex connection may not be a good option. Interacting with a command line tool is also typically faster than interacting with a GUI tool. For example, if you needed to reduce your loan position on Balanced quickly, doing so via a CLI can be more efficient than clicking the UI.

I’ve been sharing some recent work in this Twitter thread. So check it out to get more context as to what this command line tool does.

Planned Features

Below are the currently planned features for icon-cli.

  • ICX and token transfers (single and multi-threaded bulk transfers).
  • Staking and delegation – auto-delegating after claiming I-Score, CSV/Google Sheets support for tracking I-Score claim value, and more.
  • Query blockchain for key metrics.
  • CPS support for voting, sponsoring, etc.
  • Support for Balanced – view and execute changes to positions from the command line.

Development Details

Phase 1 (1 month)

  • Token transfers, staking, and delegation.
  • Querying for blockchain metrics.

Phase 2 (2 months)

  • Balanced features – monitoring, swaps, liquidations, etc.

Phase 3 (1 month)

  • CPS features – viewing proposal details, voting on proposals, etc.

Funding Amount Requested

10,000 ICX – 4 months of command line development and documentation work.

Good initiative! FYI, I have been managing a similar one to execute transfer, claim, staking, and so on.

I’m not trying to belittle your work, however, once we have setup a contract calls framework, interacting with the Balanced and CPS contracts are just a matter of appending custom commands to the tools, and this is very straight-forward jobs. Thus I am thinking requesting 10,000 ICX funds is too much from my perspective. This is just my thought. Other people may think differently.

Wow! I had no idea this existed. Thanks for bringing it to my attention. In this case, this proposal may not be needed at all. Perhaps we can collaborate on a single tool instead of spending time on two different projects. Can I contact you directly?

I don’t think two projects need to be consolidated. Every project has its own purpose.
If you are comfortable enough to use my tools as-is and want to improve some parts, you could create a PR for it. Then I will happily look into it, and might merge it to the main branch if it satisfies my own criteria. However, if it does not satisfies my criteria, I could reject it. This is an open-source way.

1 Like

FYI, I’ll rethink this proposal. Please ignore the funding section for now, but feel free to provide feedback on the features. I’m curious to see what kind of functionality people want to see.