#command #command-line #unc #helps #human-friendly #interact #utility

bin+lib utility-cli-rs

human-friendly console utility that helps to interact with unc Protocol from command line

6 releases

0.12.2 May 22, 2024
0.12.1 May 22, 2024
0.10.2 May 15, 2024
0.8.2 Apr 12, 2024

#2577 in Magic Beans

Download history 89/week @ 2024-04-06 45/week @ 2024-04-13 8/week @ 2024-04-20 2/week @ 2024-04-27 128/week @ 2024-05-04 157/week @ 2024-05-11 361/week @ 2024-05-18 172/week @ 2024-05-25 84/week @ 2024-06-01 40/week @ 2024-06-08 12/week @ 2024-06-15 1/week @ 2024-06-22

156 downloads per month
Used in 4 crates (2 directly)

GPL-2.0-or-later

1MB
18K SLoC

Utility CLI

Utility CLI is your human-friendly companion that helps to interact with Utility from command line.

Just run unc and let it guide you through!

Install

Visit Releases page to see the latest updates.

Install prebuilt binaries via shell script (macOS, Linux, WSL)
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/utnet-org/utility-cli-rs/releases/latest/download/utility-cli-rs-installer.sh | sh
Run prebuilt binaries with npx (Node.js)
npx utility-cli-rs
Install prebuilt binaries into your npm project (Node.js)
npm install utility-cli-rs
Compile and install from the source code (Cargo)

Install it with cargo, just make sure you have Rust installed on your computer.

cargo install utility-cli-rs

or, install the most recent version from git repository:

cargo install --git https://github.com/utnet-org/utility-cli-rs
Install on CI (GitHub Actions)

It is often desirable to use unc cli from CI to automate some actions, so here is an example of how you can make a function call during CI:

name: Release
on:
  push:
    branches: [main]

jobs:
  deploy-widgets:
    runs-on: ubuntu-latest
    name: Make a function call on testnet
    env:
      UNC_NETWORK_CONNECTION: testnet
      UNC_CONTRACT_ACCOUNT_ID: ${{ vars.UNC_CONTRACT_ACCOUNT_ID }}
      UNC_SIGNER_ACCOUNT_ID: ${{ vars.UNC_SIGNER_ACCOUNT_ID }}
      UNC_SIGNER_ACCOUNT_PUBLIC_KEY: ${{ vars.UNC_SIGNER_ACCOUNT_PUBLIC_KEY }}
      UNC_SIGNER_ACCOUNT_PRIVATE_KEY: ${{ secrets.UNC_SIGNER_ACCOUNT_PRIVATE_KEY }}

    steps:
    - name: Checkout repository
      uses: actions/checkout@v3

    - name: Install unc cli
      run: |
        curl --proto '=https' --tlsv1.2 -LsSf https://github.com/utnet-org/utility-cli-rs/releases/download/v0.8.2/utility-cli-rs-installer.sh | sh

    - name: Call some function
      run: |
        unc contract call-function as-transaction "$UNC_CONTRACT_ACCOUNT_ID" 'function_name_here' json-args '{}' prepaid-gas '100 TeraGas' attached-deposit '0 unc' sign-as "$UNC_SIGNER_ACCOUNT_ID" network-config "$UNC_NETWORK_CONNECTION" sign-with-plaintext-private-key --signer-public-key "$UNC_SIGNER_ACCOUNT_PUBLIC_KEY" --signer-private-key "$UNC_SIGNER_ACCOUNT_PRIVATE_KEY" send

You will need to configure GitHub Actions Secrets and Variables and once it is ready, this CI will only take a couple of seconds to complete!

See how it is used by DevHub.

Run

Once installed, you just run it with unc command:

$ unc

? What are you up to? (select one of the options with the up-down arrows on your keyboard and press Enter)
> account     - Manage accounts
  tokens      - Manage token assets such as UNC, FT, NFT
  pledging     - Manage pledging: view, add and withdraw pledge
  contract    - Manage smart-contracts: deploy code, call functions
  transaction - Operate transactions
  config      - Manage connections in a configuration file (config.toml)
  extension   - Manage unc CLI and extensions
[↑↓ to move, enter to select, type to filter]

The CLI interactively guides you through some pretty complex topics, helping you make informed decisions along the way.

Read more

Dependencies

~53–75MB
~1.5M SLoC