Everdev is a Node.js package with CLI interface that allows to set up developer environment and develop on TVM compatible blockchains (Everscale, Venom, TON, Gosh, etc).
- Easily manage(install, update) all the core tools, such as Solidity/C++ Compilers, Evernode-SE, tonos-cli
- Configure networks (including Local Blockchain, Developer Network, Everscale (main) network): add, configure giver contract;
- Manage keys: add, remove
- Work with blockchain from CLI
- Quick Start
- Content table
- Command Line Interface
- EverDev Extensibility
Node.js>= 14.x installed. Required only if you are installing Everdev from NPM. We recommend using Node version manager to install nodejs and NPM.
Docker>= 19.x installed
- Solidity compiler requires VC++ Runtime on Windows. You can install it from the latest supported Visual C++ downloads.
npm i -g everdev
If you see an EACCESS error when you try to install a package globally on Mac or Linux, please see this instruction
Using pre-compiled binaries
You can download precompiled binaries for your platform from the latest release. After download you need to create directory if it does not exists.
mkdir -p ~/.everdev/bin
everdevfrom archive into this folder.
Then move downloaded binary as
everdev.exeinto this folder.
To make it possible to run
everdev from any folder, you need to update the system PATH environment variable.
echo 'export PATH=~/.everdev/bin:$PATH' >> ~/.profile && source ~/.profile
For windows run PowerShell and execute this line:
[System.Environment]::SetEnvironmentVariable("PATH", "$env:HOMEDRIVE$env:HOMEPATH\.everdev\bin;$([System.Environment]::GetEnvironmentVariable("PATH", [System.EnvironmentVariableTarget]::User))", [System.EnvironmentVariableTarget]::User)
After trying to run
everdev on macos you can see the error: "everdev" cannot be opened because the developer cannot be verified. Open your computer System Preferences > Security & Privacy > Privacy. Here, you should see an option to click "Allow Anyway" next to the "everdev" application in question.
Select a base image that provides GLIBC ver. 2.29 or higher if you want to use the Evedev Solidity compiler like ubuntu:20.04:
docker run -it --rm ubuntu:20.04 # apt update && apt upgrade -y && apt install -y curl # curl -L https://github.com/tonlabs/everdev/releases/download/1.3.1/everdev-linux.tgz --output everdev-linux.tgz # tar xvf everdev-linux.tgz # mv everdev /usr/local/bin/
npm r -g everdev npm i -g everdev
Command Line Interface
Components are downloaded and installed automatically for the target platform upon the first request.
General command syntax
everdev <tool> <command> ...args
Some tools (network, signer, contract, js) and commands have short aliases. For example instead of using
everdev network list you can use
everdev n l and even shorter
Controller for Everscale Solidity compiler.
Controller for sold - Everscale Solidity compiler driver
Controller for Everscale Clang Compiler.
Controller for network management.
Controller for keys management.
Controller for working with smart contracts.
Controller for Local Node emulator.
Controller for DeBot browser.
Controller for TestSuite4 testing framework.
Controller for tonos-cli tool management.
EverDev can be extended with other tools following the instructions of integration.
Get started with essential Everscale Development Tools with Quick Start guide.
Work with contracts
Learn how to deploy and call your smart contracts with EverDev: Work with contracts.
Work with DevNet
Read how to deploy and configure your own Giver in DevNet in a separated guide: Working with DevNet.
Find out how to create your own controller for EverDev: Create controller.
View controller info
Learn how to view all available controllers information: View controller info.
TON Dev Environment is an integration point for development tools related to Everscale Blockchain.
There are two kind of software connected to EverDev:
- Development tools such as a compilers, networks, debuggers and so on.
- User Interaction services such as an IDE plugins, CLI, GUI applications etc.
Learn more about creating your own controller: Creating Controller