环境安装

星云链现阶段只能在Mac和Linux上运行,后续会推出windows版本。

Golang环境搭建

Components

Version

Description

>= 1.9.2

The Go Programming Language

我们会分别介绍Mac OSX和Linux两种系统下golang环境的搭建。

Mac OSX

在Mac OSX里,我们推荐使用Homebrewarrow-up-right来安装Golang.

# 安装
brew install go

# 配置环境变量
export GOPATH=/path/to/workspace

提示: 在golang的开发中,GOPATH是必须的,它指定了我们使用golang开发的工作空间。所有的源码都应放在GOPATH之下。

Linux

# download
wget https://dl.google.com/go/go1.9.3.linux-amd64.tar.gz

# extract
tar -C /usr/local -xzf go1.9.3.linux-amd64.tar.gz

# environment variables
export PATH=$PATH:/usr/local/go/bin
export GOPATH=/path/to/workspace

编译星云链

下载源码

可以使用如下指令直接下载最新版本的星云链源码。

安装rocksdb依赖库

同样我们会介绍如何在MAC OSX和Linux正确安装RocksDB。

Mac OSX

可以直接通过Homebrewarrow-up-right安装,运行brew install rocksdb

Linux

在linux环境下,由于ubuntu和centos系统的用户偏多,我们将分别介绍这两个主流环境下RocksDB的安装。

Ubuntu

  • 首先安装RocksDB所需依赖库

  • 下载源码并编译安装

Centos

  • 首先安装RocksDB所需依赖库

  • 下载源码并编译安装

安装Go依赖库

在Go-Nebulas中,Go的三方库都通过Deparrow-up-right来做管理。

Components

Version

Description

Deparrow-up-right | >= 0.3.1 | Dep is a dependency management tool for Go. |

安装Dep工具

我们同样分别介绍Mac OSX和Linux下Dep的安装方法。

Mac OSX

Linux

  • 通过源码来安装Dep

下载Go三方库

我们切换到Go-Nebulas项目根目录,然后使用Dep来下载三方库。

提示: make dep将会下载很多依赖库。在部分地区,这个过程可能比较耗时。所以,我们提供了依赖库的压缩包vendor.tar.gzarrow-up-right。可以使用下列指令通过压缩包来安装GO依赖库。

安装Chrome V8依赖库

星云虚拟机目前依赖于Chrome的V8引擎,为了大家使用方便,我们已经为Mac OSX和Linux编译好了V8的动态库。运行如下指令就可以完成安装。

编译可执行文件

完成所有上述依赖库的安装后,现在我们可以进入Go-Nebulas根目录编译星云链的可执行文件了。

编译成功后,将会看到如下信息。

make build

运行星云链

创世区块

在启动一个新的星云链前,我们必须定义创世区块的配置文件。

创世区块配置

可以在根目录conf/default/genesis.conf下,找到一个完整的创世区块配置实例。

配置文件

在我们启动一个星云节点前,我们需要定义好该节点的配置文件。

星云节点配置文件

A lot of examples can be found in $GOPATH/src/github.com/nebulasio/go-nebulas/conf/

启动星云链

此时启动的星云链是本地的私有链,和官方的测试网和主网没有任何相互关联

启动你的第一个星云节点。

启动成功的话,将会看到如下信息,有Started Neblet的日志输出。

seed node start

默认情况下,使用配置文件conf/default/config.conf启动的节点不是矿工节点。

接下来,启动你的第一个矿工节点,它的seed节点即我们刚刚启动的第一个节点。

在这个节点启动后,你会先看到如下信息,表示当前节点正在找种子节点同步。

start sync

等待一会儿,将会看到如下信息,表示当前节点已经连上了seed节点完成了同步。

finish sync

再等待几分钟,你会看到如下信息,表示当前矿工节点挖出了第一个区块。

finish sync

提示: 目前的DPoS共识算法,会有21个节点轮流出块。由于我们只启动了21个矿工节点中的一个矿工节点,所以每隔15*21s才出一个块。你可以启动更多的矿工节点,填补的空缺。但是需要注意,多个节点间的端口号不要相互冲突了。

下一章

在星云链上发送交易arrow-up-right

Last updated