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
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.
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
For Linux:
sudo apt-get install libssl-dev (openssl-devel on Fedora)
sudo apt-get install pkg-config
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.
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.
For maximum security while working with offline EVER-CLI features (such as cryptographic commands or encrypted message generation), you can use the Tails OS.
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>
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.
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 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
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
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.
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
$ claude mcp add ever-cli \
-- python -m otcore.mcp_server <graph>