utility-cli-rs 0.12.2

human-friendly console utility that helps to interact with unc Protocol from command line.
Documentation
unc CLI
--------
unc CLI is a command line utility for working with the unc Protocol blockchain.

## README.md

* ru [Русский]README.ru.md

## Documentation quick links

- [Usage]#usage
- [Installation]#installation
- [User Guide]#user-guide
- [Config]#config
- [Building]#building

## Usage

In general, it is difficult for a beginner to immediately understand how commands work.  
For example, I consider having the following command to do a transfer:
```txt
unc tokens \
    'volodymyr.testnet' \
    send-unc \
    'fro_volod.testnet' \
    '1 unc' \
    network testnet \
    sign-with-keychain \
    send
```
This is the complete version of the command. The result of this command will be as follows:
```txt
Successful transaction
<volodymyr.testnet> has transferred 1 unc to <fro_volod.testnet> successfully.
Transaction ID: G4t6Sgz2FjnNpruYjPP1ZJAKfRmBffVaqmj8Nup2TaAg
To see the transaction in the transaction explorer, please open this url in your browser:
https://explorer.testnet.unc.org/transactions/G4t6Sgz2FjnNpruYjPP1ZJAKfRmBffVaqmj8Nup2TaAg
```
Typing this or another command manually, you can make a mipledge or forget the sequence of the command.  
It is not a problem. `--help` will tell you how to build a command properly.  
However, using _unc CLI_, you can press _Enter_ anywhere in the command line and the interactive mode of the program will continue to compose the command from the place where you finished entering the necessary parameters.

<details><summary><i>Demonstration of the utility with a partially recruited command</i></summary>
<a href="https://asciinema.org/a/AfxLN1QtJi1z1qXuowTj2nDw2?autoplay=1&t=1&speed=2">
    <img src="https://asciinema.org/a/AfxLN1QtJi1z1qXuowTj2nDw2.png" width="836"/>
</a>
</details>

## Installation

At this stage of the development of the utility, installation of the program is not required.  
It is enough to [download](https://github.com/utnet-org/utitlity-cli-rs/releases/) the archive file suitable for your operating system installed on the computer and unzip it.  
The resulting directory contains the executable file _unc CLI_, which is accompanied by detailed [user guide](GUIDE.en.md).

## User Guide

Detailed user guide is available in the file [GUIDE.en.md](GUIDE.en.md).

## Config

The directory with access keys and available connection networks are defined in the configuration file (`unc-cli/config.toml`), which is located depending on the operating system in the following places:

- macOS: `$HOME/Library/Application Support` (e.g. `/Users/Alice/Library/Application Support`)
- Linux: `$XDG_CONFIG_HOME` or `$HOME/.config` (e.g. `/home/alice/.config`)
- Windows: `{FOLDERID*RoamingAppData}` (e.g. `C:\Users\Alice\AppData\Roaming`)

You can learn more about working with the configuration file [here](GUIDE.en.md#config---manage-connections-in-a-configuration-file).

## Building

_unc CLI_ is written in Rust, so you'll need to install
[Rust](https://www.rust-lang.org/) in order to compile it.
_unc CLI_ compiles with Rust 1.64.0 (stable) or newer. In general, _unc CLI_ tracks the latest stable release of the Rust compiler.

To build _unc CLI_:

```txt
$ git clone https://github.com/utnet-org/utitlity-cli-rs.git
$ cd unc-cli-rs
$ cargo build --release
$ ./target/release/unc --version
unc 0.2.4
```