EverDev
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).
Quick Start
Get quick help in our telegram channel:
Use-cases
- Easily manage(install, update) all the core tools, such as Solidity/C++ Compilers, Evernode-SE
- Configure networks (including Local Blockchain, Developer Network, Everscale (main) network): add, configure giver contract;
- Manage keys: add, remove
- Work with blockchain from CLI
Content table
- EverDev
Installation
Prerequisites
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.- (optional)
Docker
>= 19.x installed - Solidity compiler requires VC++ Runtime on Windows. You can install it from the latest supported Visual C++ downloads.
Using NPM
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.
For linux/macos:
mkdir -p ~/.everdev/bin
Then unpack
everdev
from archive into this folder.
For windows:
md $env:HOMEDRIVE$env:HOMEPATH\.everdev\binThen move downloaded binary as
everdev.exe
into this folder.
To make it possible to run everdev
from any folder, you need to update the system PATH environment variable.
For linux/macos:
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.
Using docker
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/
Update
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 everdev nl
.
Solidity Compiler
Controller for Everscale Solidity compiler.
Solidity Compiler Driver
Controller for sold - Everscale Solidity compiler driver
C/C++ Compiler
Controller for Everscale Clang Compiler.
Network Tool
Controller for network management.
Signer Tool
Controller for keys management.
Contract Management Tool
Controller for working with smart contracts.
Evernode Simple Emulator (local blockchain)
Controller for Local Node emulator.
Debot Browser
Controller for DeBot browser.
TestSuite4
Controller for TestSuite4 testing framework.
Cookbook
Quick Start
Get started with essential Everscale Development Tools with Quick Start guide.
Create controller
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.
Troubleshooting
If you encountered any problem try to seek the solution in Troubleshooting Notes. If it didn't help - please, ask in our telegram channel.
EverDev Extensibility
EverDev 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