https://github.com/elastos/elastos.ela.sidechain.neovm
https://github.com/elastos/elastos.ela.sidechain.neovm
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/elastos/elastos.ela.sidechain.neovm
- Owner: elastos
- License: mit
- Created: 2018-11-13T09:05:16.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2019-08-01T02:47:08.000Z (almost 6 years ago)
- Last Synced: 2025-02-12T20:38:41.337Z (4 months ago)
- Language: Go
- Size: 9.68 MB
- Stars: 0
- Watchers: 26
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Elastos.ELA.SideChain.NeoVM
## Introduction
This project is based by Elastos.ELA.SideChain.
It integrated neo's smart contract VM,can run neo's smart contract.## Table of Contents
- [Introduction](#introduction)
- [Pre-requisites on Mac](#pre-requisites-on-mac)
- [1. Check OS version](#1-check-os-version)
- [2. Install Go distribution 1.9](#2-install-go-distribution-19)
- [3. Install Glide](#3-install-glide)
- [Pre-requisites on Ubuntu](#pre-requisites-on-ubuntu)
- [1. Check OS version](#1-check-os-version-1)
- [2.Install git](#2-install-git)
- [3. Install Go distribution 1.9](#3-install-go-distribution-19)
- [4. Install Glide](#4-install-glide)
- [Configure the node](#configure-the-node)
- [Build the node](#build-the-node)
- [1. Setup basic workspace](#1-setup-basic-workspace)
- [2. Set correct environment variables](#2-set-correct-environment-variables)
- [3. Check Go version and glide version](#3-check-go-version-and-glide-version)
- [4. Clone source code to $GOPATH/src/github/elastos folder](#4-clone-source-code-to-gopathsrcgithubcomelastos-folder)
- [5. Install dependencies using Glide](#5-install-dependencies-using-glide)
- [6. Make](#6-make)
- [7. Run the node](#7-run-the-node)- [License](#license)
## Pre-requisites on Mac
#### 1. Check OS version
Make sure the OSX version is 16.7+```shell
uname -srm
Darwin 16.7.0 x86_64
```
#### 2. Install Go distribution 1.9
Use Homebrew to install Golang 1.9.```shell
$ brew install [email protected]
```
> If you install older version, such as v1.8, you may get missing math/bits package error when build.#### 3. Install Glide
Glide is a package manager for Golang. We use Glide to install dependent packages.
```shell
$ brew install --ignore-dependencies glide
```## Pre-requisites on Ubuntu
#### 1. Check OS version
Make sure your ubuntu version is 16.04+
```shell
$ cat /etc/issue
Ubuntu 16.04.3 LTS \n \l
```#### 2. Install git
```shell
$ sudo apt-get install -y git
```
#### 3. Install Go distribution 1.9```shell
$ sudo apt-get install -y software-properties-common
$ sudo add-apt-repository -y ppa:gophers/archive
$ sudo apt update
$ sudo apt-get install -y golang-1.9-go
```> If you install older version, such as v1.8, you may get missing math/bits package error when build.
#### 4. Install Glide
Glide is a package manager for Golang. We use Glide to install dependent packages.
```shell
$ cd
$ mkdir dev
$ cd dev
$ curl https://glide.sh/get | sh
```
If installation glide report **glide needs envirable $GOPATH. set it befor continue**. then go to [Build the node](#4),to set the environment variable## Configure the node
See the [documentation](./docs/config.json.md) about config.json
If yo would like to connect to testnet, do the following:
```shell
cp docs/testnet_config.json.sample config.json
```If you would like to connect to mainnet, do the following:
```shell
cp docs/mainnet_config.json.sample config.json
```Make sure to modify the parameters to what your own specification
## Build the node
#### 1. Setup basic workspace
In this instruction we use ~/dev/src/github.com/elastos as our working directory. If you clone the source code to a different directory, please make sure you change other environment variables accordingly (not recommended).```shell
$ mkdir -p ~/dev/bin
$ mkdir -p ~/dev/src/github.com/elastos/
```#### 2. Set correct environment variables
Mac OS:
```shell
export GOROOT=/usr/local/opt/[email protected]/libexec
export GOPATH=$HOME/dev
export GOBIN=$GOPATH/bin
export PATH=$GOROOT/bin:$PATH
export PATH=$GOBIN:$PATH
```Ubuntu OS:
```shell
export GOROOT=/usr/lib/go-1.9
export GOPATH=$HOME/dev
export GOBIN=$GOPATH/bin
export PATH=$GOROOT/bin:$PATH
export PATH=$GOBIN:$PATH
```#### 3. Check Go version and glide version
Check the golang and glider version. Make sure they are the following version number or above.
```shell
$ go version
go version go1.9.2 darwin/amd64$ glide --version
glide version 0.13.1
```#### 4. Clone source code to $GOPATH/src/github.com/elastos folder
Make sure you are in the folder of $GOPATH/src/github.com/elastos folder
```shell
$ git clone https://github.com/elastos/Elastos.ELA.SideChain.NeoVM.git```
If clone works successfully, you should see folder structure like $GOPATH/src/github.com/elastos/Elastos.ELA.SideChain.NeoVM/Makefile
#### 5. Install dependencies using Glide
```shell
$ cd $GOPATH/src/github.com/elastos/Elastos.ELA.SideChain.NeoVM
$ glide update && glide install
```
If the terminal report "Cannot detect VCS", we need to set mirror, please search it on web.#### 6. Make
Build the node
```shell
$ cd $GOPATH/src/github.com/elastos/Elastos.ELA.SideChain.NeoVM
$ make
```If you did not see any error message, congratulations, you have made the NeoVM full node.
#### 7. Run the node
```shell
$ ./neo
```
## LicenseThis project is licensed under the terms of the [MIT license](https://github.com/elastos/Elastos.ELA/blob/master/LICENSE).