Skip to content
No description, website, or topics provided.
Go Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
avm add Header and Test Jun 14, 2019
blockchain add Header and Test Jun 14, 2019
common
contract add Header and Test Jun 14, 2019
docs test rpc Jun 19, 2019
event add socket port Dec 10, 2018
mempool add Header and Test Jun 14, 2019
p2p/server add Header and Test Jun 14, 2019
params modify params Jun 21, 2019
pow add log on pow Jun 23, 2019
service change GetTransactionReceipt log to json Jun 17, 2019
smartcontract modify GetContract to adapt hash Jun 14, 2019
store change GetTransactionReceipt log to json Jun 17, 2019
types
.gitignore add Header and Test Jun 14, 2019
LICENSE
Makefile new elastos_neo director and put data in it Dec 24, 2018
README.md #40 fix readme information is incorrect Dec 24, 2018
config.go
glide.yaml
log.go
main.go add GetBlock callBack on blockchain Jun 26, 2019

README.md

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

Pre-requisites on Mac

1. Check OS version

Make sure the OSX version is 16.7+

uname -srm
Darwin 16.7.0 x86_64

2. Install Go distribution 1.9

Use Homebrew to install Golang 1.9.

$ brew install go@1.9

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.

$ brew install --ignore-dependencies glide

Pre-requisites on Ubuntu

1. Check OS version

Make sure your ubuntu version is 16.04+

$ cat /etc/issue
Ubuntu 16.04.3 LTS \n \l

2. Install git

$ sudo apt-get install -y git

3. Install Go distribution 1.9

$ 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.

$ 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,to set the environment variable

Configure the node

See the documentation about config.json

If yo would like to connect to testnet, do the following:

cp docs/testnet_config.json.sample config.json

If you would like to connect to mainnet, do the following:

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).

$ mkdir -p ~/dev/bin
$ mkdir -p ~/dev/src/github.com/elastos/

2. Set correct environment variables

Mac OS:

export GOROOT=/usr/local/opt/go@1.9/libexec
export GOPATH=$HOME/dev
export GOBIN=$GOPATH/bin
export PATH=$GOROOT/bin:$PATH
export PATH=$GOBIN:$PATH

Ubuntu OS:

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.

$ 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

$ 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

$ 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

$ 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

$ ./neo

License

This project is licensed under the terms of the MIT license.

You can’t perform that action at this time.