内容简介:此篇文章为环境搭建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
第二步:安装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 // 编译所有工具
编译成功后的可执行文件在 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
初始化及运行成功,如下图
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- Openstack Queens 环境搭建(一)环境准备
- 创业公司基础设施如何搭建(一):前期准备
- 『高级篇』docker之kubernetes环境搭建与预先环境准备(32)
- php – Laravel:一般错误:1615准备好的声明需要重新准备
- 详解Openstack环境准备
- 深度有趣 | 02 准备工作
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
C# Primer Plus
Klaus Michelsen / Sams / 2001-12-15 / USD 49.99
C# Primer Plus is a tutorial based introduction to the C# language and important parts of the .Net Framework. Throughout the book the reader will be exposed to proven principles enabling him to write ......一起来看看 《C# Primer Plus》 这本书的介绍吧!