MCPcopy Index your code
hub / github.com/everx-labs/ever-cli

github.com/everx-labs/ever-cli @0.44.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.44.0 ↗ · + Follow
573 symbols 1,491 edges 50 files 12 documented · 2%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

EVER-CLI

EVER-CLI is a multi-platform command line interface for TVM compatible networks (Everscale, Venom, Gosh, TON).

It allows user to work with keys and seed phrases, deploy contracts, call any of their methods, generate and broadcast messages. It supports specific commands for DeBot, DePool and Multisignature Wallet contracts, as well as a number of supplementary functions.

To access built-in help, use --help or -h flag:

ever-cli --help
ever-cli <subcommand> -h

Table of contents

1. Installation

Install compiled executable

Create a folder. Download the .zip file from the latest release from here: https://github.com/everx-labs/ever-cli/releases to this folder. Extract it.

Install through EVERDEV

You can use EVERDEV to install the latest version of EVER-CLI.

everdev ever-cli install

The installer requires NPM to be installed, so it can install packages globally without using sudo. In case of error, manually set environment variable PATH=$PATH:$HOME./everdev/solidity

This command updates EVER-CLI installed through EVERDEV to the latest version:

everdev ever-cli update

This command specifies EVER-CLI version to use and downloads it if needed:

everdev ever-cli set --version 0.8.0

Build from source

Prerequisites

  • Rust latest version
  • OpenSSL

For Linux:

sudo apt-get install libssl-dev (openssl-devel on Fedora)
sudo apt-get install pkg-config

Build from source on Linux and macOS

Install Cargo: https://github.com/rust-lang/cargo#compiling-from-source

Build EVER-CLI tool from source:

git clone https://github.com/everx-labs/ever-cli.git
cd ever-cli
cargo update
cargo build --release
cd target/release

The ever-cli executable is built in the ever-cli/target/release folder. Create a folder elsewhere. Copy the ever-cli executable into the new folder you have created. Or just add ever-cli/target/release to the PATH local variable.

Build from source on Windows

Install Cargo: https://github.com/rust-lang/cargo#compiling-from-source

Build EVER-CLI tool from source:

> git clone https://github.com/everx-labs/ever-cli.git
> cd ever-cli
> cargo update
> cargo build --release
> cd target/release

The ever-cli executable is built in the ever-cli/target/release folder. Create a folder elsewhere. Copy the ever-cli executable into the new folder you have created. Or just add ever-cli/target/release to the PATH local variable.

Tails OS secure environment

For maximum security while working with offline EVER-CLI features (such as cryptographic commands or encrypted message generation), you can use the Tails OS.

Put EVER-CLI into system environment

Optional, Linux/macOS. Use the following command to put the utility into system environment:

export PATH="<ever_folder_path>:$PATH"

This step can be skipped, if EVER-CLI was installed through EVERDEV. Otherwise, if you skip this step, make sure you always run the utility from folder containing the utility:

./ever-cli <command> <options>

Install ever-cli, completion script and bind them

On Linux ever-cli can be installed with a completion script by using such commands:

cd ever-cli
cargo install --force --path .
complete -C __ever-cli_completion ever-cli

After adding completion script, user can use <Tab> key to complete --addr option with aliases saved in the config file and -m/--method option with methods loaded from the ABI file.

Windows debug build troubleshooting

Default debug executable built after cargo build command may have an issue with binary default stack size:

> cargo build
Finished dev [unoptimized + debuginfo] target(s) in 0.66s
> .\target\debug\ever-cli.exe --version

thread 'main' has overflowed its stack

User can fix this issue by using editbin tool from MSVC Tools. This tool allows user to increase binary stack reserve. Increase it by 2 times will help to fix ever-cli:

> editbin /STACK:2097152 ever-cli.exe
Microsoft (R) COFF/PE Editor Version 14.28.29914.0
Copyright (C) Microsoft Corporation.  All rights reserved.

> ever-cli.exe --version
ever_cli 0.26.7
COMMIT_ID: 1e1397b5561ea79d2fd7cce47cd033450b123f25
BUILD_DATE: Unknown
COMMIT_DATE: 2022-05-13 14:15:47 +0300
GIT_BRANCH: master

Ubuntu 22 troubleshooting

Ubuntu 22 has upgraded to OpenSSL 3.0 and this breaks execution of compiled ever-cli releases. To fix this problem one should install old version of libssl. To do it one can download amd64 package from (packages.debian.org)[https://packages.debian.org/stretch/libssl1.1] and install it with dpkg:

sudo dpkg -i libssl1.1*.deb

Check version

You can check version of the current EVER-CLI installation with the following command:

ever-cli version

Output example:

$ ever-cli version
Config: default
ever-cli 0.2.0
COMMIT_ID: 21ebd53c35bf22696bf1eb434e408ed33318136a
BUILD_DATE: 2021-01-26 15:06:18 +0300
COMMIT_DATE: 2021-01-14 16:13:32 +0300
GIT_BRANCH: master

A note on Windows syntax

When using Windows command line, the following syntax should be used for all EVER-CLI commands:

1) Never use the ./ symbols before ever-cli:

> ever-cli <command_name> <options>

2) For all commands with nested quotes, the outer single quotes should be changed to double quotes, and the inner double quotes should be shielded by a preceding \. Example:

> ever-cli deploy SafeMultisigWallet.tvc "{\"owners\":[\"0x723b2f0fa217cd10fe21326634e66106678f15d5a584babe4f576dffe9dcbb1b\",\"0x127e3ca223ad429ddaa053a39fecd21131df173bb459a4438592493245b695a3\",\"0xc2dd3682ffa9df97a968bef90b63da90fc92b22163f558b63cb7e52bfcd51bbb\"],\"reqConfirms\":2}" --abi SafeMultisigWallet.abi.json --sign deploy.keys.json

If this is not done, arguments are not in json format: key must be a string at line 1 column error may occur.

2. Configuration

2.1. Set the network and parameter values

EVER-CLI can store some parameter values in the ever-cli configuration file and use it automatically in various subcommands.

After that you can omit the corresponding parameters in subsequent subcommands.

Default path for the configuration file is ./ever-cli.config.json. It is created in the current working directory. User can set up path to the configuration file manually. All subsequent calls of the utility will use this file by default.

Use the following command to create a configuration file:

ever-cli config [--global] <--option> <option_value>

All other EVER-CLI commands will indicate the configuration file currently used.

Default values for options that were not specified are taken from the global configuration file. It has name .ever-cli.global.conf.json and is located in the folder, where the ever-cli executable lies. This global configuration file can be configured as the ordinary one, but the option --global must be used for the config subcommand.

List of available options:

```bash --abi Pa

Core symbols most depended-on inside this repo

load_ton_address
called by 27
src/helpers.rs
set_config
called by 27
tests/common/mod.rs
get
called by 25
src/debot/interfaces/amount_input.rs
create_client_local
called by 21
src/helpers.rs
decode_answer_id
called by 21
src/debot/interfaces/dinterface.rs
create_client_verbose
called by 19
src/helpers.rs
load_abi
called by 17
src/helpers.rs
create_client
called by 16
src/helpers.rs

Shape

Function 357
Method 162
Class 46
Enum 8

Languages

Rust100%

Modules by API surface

tests/test_cli.rs51 symbols
src/helpers.rs48 symbols
src/debug.rs38 symbols
src/config.rs33 symbols
src/main.rs32 symbols
src/depool.rs32 symbols
src/decode.rs26 symbols
src/multisig.rs20 symbols
src/debot/interfaces/dinterface.rs17 symbols
src/replay.rs16 symbols
src/debot/callbacks.rs14 symbols
src/debot/term_browser.rs13 symbols

For agents

$ claude mcp add ever-cli \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact