TrueChain开发准备篇-环境搭建(CentOS)

栏目: 编程工具 · 发布时间: 5年前

内容简介:此篇文章为环境搭建Linux补充篇,CentOS环境与Ubuntu环境大致相同,细节之处略有差别之处,斟酌之下决定还是写下此篇,环境采用了阿里云ECS,云服务搭建,方便大家快速学习掌握CentOS环境配置。原文《TrueChain云端搭建环境搭建

此篇文章为环境搭建 Linux 补充篇,CentOS环境与Ubuntu环境大致相同,细节之处略有差别之处,斟酌之下决定还是写下此篇,环境采用了阿里云ECS,云服务搭建,方便大家快速学习掌握CentOS环境配置。

原文《  True链开发准备篇-环境搭建(Ubuntu) 》,作者:程阳

TrueChain云端搭建环境搭建

系统版本: Cent 7.*

# 所需工具# Git# Go => version 1.7 或更高版本# 编译工具

第一步:安装Git

首先,检查系统是否以经安装了git

$ git --version

如果不能正确显示版本号,则需要安装Git

然后,由于对Git的版本要求不高,所以直接使用包管理 工具 安装

$ sudo yum install git

最后,安装完成后,检查是否安装成功

$ git --version
TrueChain开发准备篇-环境搭建(CentOS)
正确安装,显示git版本号

第二步:安装Go

首先,同样是检查是否已经安装了go

$ go version

未安装时,有三种方式安装:使用包管理工具安装,使用官方发布的安装包安装和使用源码安装。使用包管理工具安装是最方便的,但是如果安装的版本比较低时,就需要使用安装包安装。使用源码的安装步骤请参考 Go 官网- Installing Go from source (https://golang.org/doc/install/source)

包管理工具安装

$ sudo yum install golang

安装包安装

经测试发现目前Go 的最新1.11版本编译truechain时会报runtime错误,1.10正常,所以建议下载1.10版

linux-1.10.4,64位版本,下载地址如下,使用wget直接下载,云服务器不需要自带翻墙功能,所以省去了搭梯子的环节

# 云服务直接下载$ wget https://dl.google.com/go/go1.10.4.linux-amd64.tar.gz

如是本地CentOS环节,就需要翻墙啦~

官网下载地址: https:// golang.org/dl/ ,官网上有各个版本的地址链接,就不列举出来了,另外由于云服务器能直接下载,镜像下载的方式就省略了,如有需求请访问其他同学的帮助帖子可以找个下载安装包。

命令行安装Go

这里直接以go1.10.4.linux-amd64.tar.gz文件为例,其他版本直接更换文件名即可

注意:安装位置/usr/local

sudo tar -C /usr/local -xzf go1.10.4.linux-amd64.tar.gz    // 注意输入正确的文件名

第三步:设置环境变量

先创建GOPATH文件夹,用来保存我们的工作目录,如果服务器创建了多账户,则需要注意权限问题,直接使用了root账户,所以 cd ~,打开的是root目录

# 进入你当前用户目录$ cd ~# 创建go工作目录$ mkdir go# 打开go工作目录$ cd go# 在go工作目中创建bin、pkg、src三个文件夹$ mkdir bin pkg src

配置go工作目录(临时环境变量)

# 直接执行 临时环境变量方案$ export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin# 设置工作目录$ export GOPATH=~/go

需要注意: 直接使用 export 设置的变量都是 临时变量 ,也就是说退出当前的 shell ,为该变量定义的值便不会生效了。如何能让我们定义的变量永久生效呢?

配置go工作目录(永久配置环境变量)

# 打开profile文件进行修改$ vi /etc/profile# 在配置文件中加入此行配置export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin# 配置工作目录export GOPATH=~/go# 保存profile文件,修改完之后执行下面的命令,不用重启即可生效$ source /etc/profile

再使用 go version 即可查看是否安装成功。

测试是否安装成功:

将如下代码写入$HOME/go/src/hello/hello.go

package mainimport "fmt"func main() {
	fmt.Printf("hello, world
")}

然后编译运行:

$ cd $HOME/go/src/hello$ go build$ ./hello		// 输出:hello,world

第四步:安装编译环境

$ sudo yum groupinstall "Development Tools"

编译运行 TrueChain

进入$HOME/go/src/truechain目录,如果没有truechain目录请自行创建 mkdir truechain命令即可创建,进入truechain目录执行下面命令,克隆TrueChain项目代码。

$ git clone https://github.com/truechain/truechain-engineering-code.git

下载完成后进入truechain-engineering-code目录:

make getrue	// 只编译getrue// 或者make all	// 编译所有工具
TrueChain开发准备篇-环境搭建(CentOS)
编译成功

编译成功后的可执行文件在 build/bin/ 目录下,直接在此目录下运行对应的文件即可

$ cd ./build/bin            // 进入编译目录$ ./getrue                  // 执行启动命令

为了getrue命令在任意文件夹下都可以运行,需要以下操作

$ cp getrue $GOPATH/bin    // 复制编译好的文件到$GOPATH的bin目录中

在$GOPATH/bin目录中创建genesis.json文件,写入以下内容

$ cd ~$ cd ./go/bin$ vim genesis.json

genesis.json文件内容如下:

{
  "config": {
        "chainId": 10,
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
    },
  "alloc"      : {
	  "0x970e8128ab834e8eac17ab8e3812f010678cf791" : { "balance" : 90000000000000000000000},
	  "0x68f2517b6c597ede0ae7c0559cdd4a84fd08c928" : { "balance" : 10000000000000000000000}
	  },
  "coinbase"   : "0x0000000000000000000000000000000000000000",
  "difficulty" : "0x200",
  "extraData"  : "",
  "gasLimit"   : "0x2fefd8",
  "nonce"      : "0x0000000000000042",
  "mixhash"    : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "parentHash" : "0x0000000000000000000000000000000000000000000000000000000000000000",
  "timestamp"  : "0x00"}

保存,然后运行

$ ./getrue init genesis.json   // 可能会报错$ ./getrue --nodiscover --mine --etherbase=0x8a45d70f096d3581866ed27a5017a4eeec0db2a1

初始化genesis.json可能会报错

Fatal: Failed to write fast genesis block: database already contains an incompatible genesis block (have 1acaa8c23f22e0ae, new bc72c21faf0bc5b9)

如果出现这个错误,删除truechain缓存目录即可

$ rm -rf ~/.truechain

初始化及运行成功,如下图

TrueChain开发准备篇-环境搭建(CentOS)
初始化成功

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Introduction to the Design and Analysis of Algorithms

Introduction to the Design and Analysis of Algorithms

Anany Levitin / Addison Wesley / 2006-2-24 / USD 122.00

Based on a Based on a new classification of algorithm design techniques and a clear delineation of analysis methods, "Introduction to the Design and Analysis of Algorithms" presents the subject in a c......一起来看看 《Introduction to the Design and Analysis of Algorithms》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

URL 编码/解码
URL 编码/解码

URL 编码/解码