• Stars
    star
    109
  • Rank 319,077 (Top 7 %)
  • Language
    TypeScript
  • License
    Apache License 2.0
  • Created almost 4 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

TVM Development Environment - Set up all the core Developer tools and work with TVM blockchains(Everscale, TON, Venom) from a single interface

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: Channel on Telegram

NPM package

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

Installation

Prerequisites

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\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:

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

More Repositories

1

ever-sdk

Client Libraries in 13 languages for Everscale, TON, Venom and other TVM blockchains
Rust
171
star
2

TVM-Solidity-Compiler

Solidity compiler for TVM
C++
124
star
3

main.ton.dev

Everscale main network configuration
Shell
102
star
4

ever-sdk-js

Javascript SDK for TVM blockchains (Everscale, TON, Venom, etc)
TypeScript
95
star
5

samples

Samples of Free TON smart contracts in Solidity, C++ and C
Solidity
95
star
6

ever-node

Everscale/Venom node in Rust
Rust
94
star
7

ever-cli

Command line tool for TVM compatible networks (Everscale, TON, Venom, Gosh, etc)
Rust
82
star
8

TVM-Compiler

Clang compiler for TVM
C++
59
star
9

evernode-se

Local Node for DApp development and testing in TVM blockchains (Everscale, TON, Venom, etc)
Rust
50
star
10

sdk-samples

EVER SDK samples
JavaScript
44
star
11

ton-labs-contracts

Smart contracts for TON blockchain.
Solidity
41
star
12

ever-vm

Everscale/Venom Virtual Machine implementation in Rust
Rust
37
star
13

evernode-ds

Community version of Evernode Platform (client supernode with GraphQL API) for TVM blockchains (Everscale, Venom, TON, Gosh) that exposes GraphQL API.
Solidity
34
star
14

gosh

Git Open Source Hodler
TypeScript
29
star
15

ton-dev-cli

Tondev CLI is the core SDK tool designed to facilitate the component installation, usage and update processes. In particular, it allows compiling smart contracts in Solidity and running them in the local node or TON testnet.
JavaScript
26
star
16

flex

FLEX is a fast decentralized exchange with a limit order book built on the Everscale blockchain.
HTML
24
star
17

TestSuite4

TestSuite4 is a framework designed to simplify development and testing of TON Contracts. It includes light-weight emulator of blockchain making it easy to develop contracts.
Python
24
star
18

tonix

Tonix provides basic file system functionality, as well as an interactive shell with a Unix-style command line interface.
Solidity
23
star
19

ever-abi

Application Binary Interface implementation for TVM compatible blockchains (Everscale, Venom, TON, Gosh, etc)
Rust
22
star
20

ton-client-node-js

TON Javascript API for Node.js
JavaScript
22
star
21

UIKit

UI components kit
TypeScript
22
star
22

rustnet.ton.dev

Shell
22
star
23

TVM-linker

TVM linker takes TVM assembly source code of TVM smart contract, compiles it and links its parts, adds standard selector and runtime and stores it into binary TVC file
Rust
22
star
24

debots

Debots
Solidity
18
star
25

ton-client-rs

TON Labs SDK Client Library for Rust
Rust
16
star
26

ever-node-tools

Tools for Everscale/Venom node
Rust
15
star
27

net.ton.dev

net.ton.dev
Shell
15
star
28

ever-block

Blockсhain-specific data types for Everscale/Venom nodes in Rust
Rust
14
star
29

ever-types

Fundamental data types for Eversvale/Venom node in Rust
Rust
14
star
30

True-NFT

TypeScript
14
star
31

DeBot-IS-consortium

DeBot Interface Specifications (IS) Consortium. IS a place where community defines interfaces every DeBot browser should support.
Solidity
14
star
32

ever-appkit-js

Free TON Javascript Application Kit
TypeScript
11
star
33

ever-executor

Transaction executor for Everscale/Venom nodes in Rust
Rust
11
star
34

ton-client-web-js

TON Labs SDK Client Library for Web Browsers
JavaScript
11
star
35

ever-adnl

ADNL protocol implementation in Rust
Rust
10
star
36

ever-overlay

Overlay protocol implementation in Rust
Rust
9
star
37

ton-client-react-native-js

TON Labs Client Library for React Native
JavaScript
9
star
38

ever-tl

Serialization/deserialization of TL-based data types
Rust
9
star
39

ever-rldp

RLDP protocol implementation in Rust
Rust
7
star
40

ever-dht

DHT protocol implementation in Rust
Rust
7
star
41

everdev-vscode

Access core EVER OS functionality from VS Code IDE
TypeScript
6
star
42

Surf-Releases

The repository with builds of Surf
5
star
43

eversdk-ton

Main eversdk typescript monorepo
TypeScript
5
star
44

TonNfcClientSwift

Swift
5
star
45

ever-block-json

Rust
4
star
46

debot-engine

DeBot Engine library
Rust
4
star
47

ever-crypto

Cryptographic primitives for Everscale/Venom nodes in Rust
Rust
4
star
48

ton-nfc-client

TypeScript
4
star
49

TonNfcClientAndroid

Java
3
star
50

Evernode-NQ

Everscale Decentralized Notifications
JavaScript
3
star
51

surf-external

Solidity
3
star
52

ever-assembler

Rust
3
star
53

tor-service

Python
3
star
54

TON-Surf-Localization

TypeScript
3
star
55

common

Common files used for build and runtime
Rust
2
star
56

contests-v2

JavaScript
2
star
57

flex-sdk-js

Flex Javascript SDK
TypeScript
2
star
58

ipcnv

Simple ip address conversion tool
Go
2
star
59

ton-labs-node-storage

Rust
2
star
60

tondev

TypeScript
2
star
61

lockfree

Rust
2
star
62

admin-tool

C++
2
star
63

react-navigation-surf

Custom navigation used in TON Surf application
JavaScript
2
star
64

ever-bls-lib

Rust
1
star
65

stTONs

Depool stake tokens contract
C++
1
star
66

chess-match-making

A set of auxilary smart-contracts providing assistance in all aspects of chess matches facilitation
Solidity
1
star
67

ever-struct

frequently used structures
Rust
1
star
68

TIP

Repository for TON Improvement Proposals
1
star
69

electron-forge-maker-appimage

AppImage maker for Electron Forge
TypeScript
1
star
70

ever-q-server

GraphQL API for TVM networks (Everscale, TON, Venom, Gosh, etc)
TypeScript
1
star
71

dapp-services-ranger

Ranger Service (part of DAppServices)
TypeScript
1
star
72

wallet-sdk-js

Manage you wallet: EVERs, fungible tokens and NFTs
Solidity
1
star