基于 XuperChain 的区块链项目从 0 到 N
当前区块链技术十分火热,在很多领域都有应用价值。作为小团队以及个人开发者,学习深入区块链技术,并且完成项目的开发成为一种技能。本教程基于百度开源的 XuperChain 作为剖析对象,力图通过一个实例完整的掌握区块链的基础技术,并且能够帮助开发者进入区块链的世界。
区块链的个人价值
国外调查机构对区块链从业者进行深入的分析。初步得出结论,区块链的开发人员工资普遍高于其他种类开发者。区块链开发人员的平均工资为 15 万美元,远超 Web 开发者 7.5 万美元和 Mobile 开发者 10 万美金的年薪。对于中国的开发者,我想这个数据也是有一定的参考意义。所以掌握一定的区块链技术,能够提升开发者的基础开发水平,因为区块链技术需要更多的了解算法和底层的一些技术。另外对于业务的价值也不同于应用开发者,需要更加谨慎,这些特质都是一个高水平开发者的必备技能。
百度 XuperChain 项目
XuperChain 是百度 100%自主研发,拥有完全自主知识产权的区块链底层技术。拥有 500+篇核心技术专利。XuperChain 以 高性能、自主可控、开源 为主要设计目标,响应国家政策,打破了国外技术在区块链技术领域的垄断,致力于创建 最快、 最通用、 最好用 的区块链底层技术。2019 年 5 月,XuperChain 正式向全社会开源。2020 年 9 月,百度将 XuperChain 的内核技术 XuperCore 捐赠给开放原子开源基金会,以全新的开源治理模式面向全社会。
在 Ubuntu 上部署 XuperChain
在开启应用之前需要在系统上部署相关环境,这里我使用 aliyun 的 Ubuntu20 进行基础环境的部署工作,部署后,在后续文章中将进一步深入相关内容。
安装 golang 环境
在 Ubuntu 20.04 上安装 Go
完成下面的步骤,在 Ubuntu 20.04 上安装 Go
1.1 下载 Go 压缩包
在写这篇文章的时候,Go 的最新版为 1.14.2。在我们下载安装包时,请浏览Go 官方下载页面,并且检查一下是否有新的版本可用。
以 root 或者其他 sudo 用户身份运行下面的命令,下载并且解压 Go 二进制文件到/usr/local
目录:
wget -c https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local
1.2 调整环境变量
通过将 Go 目录添加到$PATH
环境变量,系统将会知道在哪里可以找到 Go 可执行文件。
这个可以通过添加下面的行到/etc/profile
文件(系统范围内安装)或者$HOME/.profile
文件(当前用户安装):
export PATH=$PATH:/usr/local/go/bin
保存文件,并且重新加载新的 PATH 环境变量到当前的 shell 会话:
source ~/.profile
1.3 验证 Go 安装过程
通过打印 Go 版本号,验证安装过程。
go version
输出应该像下面这样:
go version go1.14.2 linux/amd64
部署环境
使用 git 下载源码到本地
执行命令
在 output 目录得到 bin,conf, data 三个文件夹以及一个 control.sh 脚本
注解
make 时,可能出现拉取失败的情况,可以配置 GOPROXY 解决此问题
$ export GOPROXY=https://goproxy.cn,direct
GOPATH 问题报错,不推荐使用 go1.11 版本之前的版本
GCC 版本需要升级到 4 或 5 以上
在 output 下,有 bin, conf, data 三个目录,以及一个 control.sh 脚本
启动服务
xuper5 为我们启动服务提供了方便的脚本,只需要一条命令使用 controll.sh 即可启动单节点 single 共识的链。
这样,我们就成功启动一条链。
control.sh 脚本提供 start | stop | restart | forcestop 四个命令,可以使用 bash control.sh help 查看
确认服务状态
按照默认配置,xchain 服务会监听 37101 端口,可以使用如下命令查看 xchain 服务的运行状态
以上完成了区块链的基本设置工作,后面将开展后续工作
内容待续…
版权声明: 本文为 InfoQ 作者【刘旭东】的原创文章。
原文链接:【http://xie.infoq.cn/article/e33142a5055fb5f4319718fd4】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论 (1 条评论)