Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/everx-labs/everdev
TVM Development Environment - Set up all the core Developer tools and work with TVM blockchains(Everscale, TON, Venom) from a single interface
https://github.com/everx-labs/everdev
blockchain cli compiler everdev everscale local node solidity ton toncoin tondev venom venom-blockchain venom-developer-program
Last synced: 4 days ago
JSON representation
TVM Development Environment - Set up all the core Developer tools and work with TVM blockchains(Everscale, TON, Venom) from a single interface
- Host: GitHub
- URL: https://github.com/everx-labs/everdev
- Owner: everx-labs
- License: apache-2.0
- Created: 2021-02-03T18:39:35.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2024-10-29T17:50:49.000Z (3 months ago)
- Last Synced: 2024-10-29T19:03:44.622Z (3 months ago)
- Topics: blockchain, cli, compiler, everdev, everscale, local, node, solidity, ton, toncoin, tondev, venom, venom-blockchain, venom-developer-program
- Language: TypeScript
- Homepage: https://docs.everos.dev/everdev/
- Size: 1.25 MB
- Stars: 110
- Watchers: 15
- Forks: 45
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](docs/guides/quick-start.md)
**Get quick help in our telegram channel:** [![Channel on Telegram](https://img.shields.io/badge/chat-on%20telegram-9cf.svg)](https://t.me/ever\_sdk)
[NPM package](https://www.npmjs.com/package/everdev)
### 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](#everdev)
* [Quick Start](#quick-start)
* [Use-cases](#use-cases)
* [Content table](#content-table)
* [Installation](#installation)
* [Prerequisites](#prerequisites)
* [Using NPM](#using-npm)
* [Using pre-compiled binaries](#using-pre-compiled-binaries)
* [Using docker](#using-docker)
* [Update](#update)
* [Command Line Interface](#command-line-interface)
* [General command syntax](#general-command-syntax)
* [Solidity Compiler](#solidity-compiler)
* [Solidity Compiler Driver](#solidity-compiler-driver)
* [C/C++ Compiler](#cc-compiler)
* [Network Tool](#network-tool)
* [Signer Tool](#signer-tool)
* [Contract Management Tool](#contract-management-tool)
* [Evernode Simple Emulator (local blockchain)](#evernode-simple-emulator--local-blockchain-)
* [Debot Browser](#debot-browser)
* [TestSuite4](#testsuite4)
* [Cookbook](#cookbook)
* [Quick Start](#quick-start-1)
* [Create controller](#create-controller)
* [View controller info](#view-controller-info)
* [Troubleshooting](#troubleshooting)
* [EverDev Extensibility](#everdev-extensibility)## Installation
### Prerequisites
* [`Node.js`](https://nodejs.org) >= 14.x installed. Required only if you are installing Everdev from NPM. We recommend using [Node version manager](https://github.com/nvm-sh/nvm#install--update-script) to install nodejs and NPM.
* (optional) [`Docker`](https://www.docker.com) >= 19.x installed
* Solidity compiler requires VC++ Runtime on Windows. You can install it from [the latest supported Visual C++ downloads](https://support.microsoft.com/en-us/topic/the-latest-supported-visual-c-downloads-2647da03-1eea-4433-9aff-95f26a218cc0).### Using NPM
```shell
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](https://docs.npmjs.com/resolving-eacces-permissions-errors-when-installing-packages-globally)
### Using pre-compiled binaries
You can download precompiled binaries for your platform from [the latest release](https://github.com/everx-labs/everdev/releases/). After download you need to create directory if it does not exists.
For linux/macos:
> ```shell
> mkdir -p ~/.everdev/bin
> ```
>
> Then unpack `everdev` from archive into this folder.For windows:
> ```shell
> md $env:HOMEDRIVE$env:HOMEPATH\.everdev\bin
> ```
>
> Then 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:
> ```shell
> echo 'export PATH=~/.everdev/bin:$PATH' >> ~/.profile && source ~/.profile
> ```For windows run PowerShell and execute this line:
> ```powershell
> [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/everx-labs/everdev/releases/download/1.3.1/everdev-linux.tgz --output everdev-linux.tgz
# tar xvf everdev-linux.tgz
# mv everdev /usr/local/bin/
```### Update
```shell
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
```shell
everdev ...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](docs/command-line-interface/solidity.md)
Controller for [Everscale Solidity compiler](https://github.com/everx-labs/TVM-Solidity-Compiler).
### [Solidity Compiler Driver](docs/command-line-interface/solidity-compiler-driver.md)
Controller for [sold - Everscale Solidity compiler driver](https://github.com/everx-labs/TVM-Solidity-Compiler/tree/master/sold)
### [C/C++ Compiler](docs/command-line-interface/c.md)
Controller for [Everscale Clang Compiler](https://github.com/everx-labs/TON-Compiler).
### [Network Tool](docs/command-line-interface/network-tool.md)
Controller for network management.
### [Signer Tool](docs/command-line-interface/signer-tool.md)
Controller for keys management.
### [Contract Management Tool](docs/command-line-interface/contract-management.md)
Controller for working with smart contracts.
### [Evernode Simple Emulator (local blockchain)](docs/command-line-interface/evernode-platform-startup-edition-se.md)
Controller for [Local Node emulator](https://github.com/everx-labs/evernode-se).
### [Debot Browser](docs/command-line-interface/debrowser.md)
Controller for DeBot browser.
### [TestSuite4](docs/command-line-interface/testsuite4.md)
Controller for [TestSuite4](https://github.com/everx-labs/TestSuite4) testing framework.
## Cookbook
### Quick Start
Get started with essential Everscale Development Tools with [Quick Start guide](docs/guides/quick-start.md).
### Create controller
Find out how to create your own controller for EverDev: [Create controller](docs/guides/creating-controller.md).
### View controller info
Learn how to view all available controllers information: [View controller info](docs/view-controller-info.md).
## Troubleshooting
If you encountered any problem try to seek the solution in [Troubleshooting Notes](docs/troubleshooting.md). If it didn't help - please, ask in our [telegram channel](https://t.me/ever\_sdk).
## 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](docs/guides/creating-controller.md)