再试编译bitshares

最近又打算玩玩bitshares,为了玩起来更加方便,打算起一个本地节点,所以首先要做的事就是编译一下bitshares。

image.png

回想一下,上次编译bitshares是2018年1月份的事情了,竟然已经过了足足三年,不禁感慨一下时间过得真快啊。那阵玩bitshares学习到不少东西,是一段充实又快乐的时光。

后来事情太多,没时间好好玩,每月$40的VPS成本也有些压力,就关掉了我的节点。这次我准备在本地电脑上跑,就不担心成本的问题啦。

编译过程

虽然距离上次编译已经过了好久好久,但是编译流程还是没啥区别的啦,只是那时候还在用Ubuntu 16.04,现在已经支持Ubuntu 18.04,尽管官方文档上还是写着:We recommend building on Ubuntu 16.04 LTS (64-bit),我觉得还是在18.04上搞比较好,还有个原因就是我家里电脑运行的版本就是Ubuntu 18.04 LTS。

编译详细资料可以参考这里,因为我的本地电脑和VPS上都已经安装过编译所需的依赖库,所以不需要再安装啦。如果是新机器请参考对应内容。

原本打算直接在家里电脑上编译,结果执行git submodule update --init --recursive命令时出现一堆类似如下错误:

fatal: unable to access 'https://github.com/bitshares/bitshares-core.wiki.git/': gnutls_handshake() failed: Error in the pull function.
fatal: clone of 'https://github.com/bitshares/bitshares-core.wiki.git' into submodule path '/home/test1234/bitshares-core/docs' failed
Failed to clone 'docs'. Retry scheduled

试了几次都一样,大概是我网络或者墙的问题,没办法只好还得在服务器上编译啦,编译步骤如下:

git clone https://github.com/bitshares/bitshares-core.git
cd bitshares-core
git checkout <LATEST_RELEASE_TAG>
git submodule update --init --recursive
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make witness_node cli_wallet

上述指令中,需要将<LATEST_RELEASE_TAG>替换成最新发布版本号

看了一样,三年前我编译时用的版本是2.0.171212,而当前最新版本号为:5.1.0,可见开发团队还是做了非常多的工作。

编译结果

编译还是相当顺利的,大概耗时40分钟左右,编译生成如下两个程序:

  • build/programs/witness_node/witness_node
  • build/programs/cli_wallet/cli_wallet

进入对应目录,执行./witness_node --version看一下:

image.png

看起来一切正常,我将它们都弄到bin目录中。

本地电脑执行

剩下的就是在本地电脑运行起来了,原本打算直接用scp 拷贝bin目录,结果发现网速实在是太坑人,目测不定猴年马月能完成。打包压缩一下后,文件大小从287M降低到57M,这样copy起来就快多啦。

下载并解压后,直接运行

~/bin/witness_node

没有任何问题,并自动开始同步区块。不过看它默认开启了一大堆插件,我大概并不需要这么多插件:

image.png

不过今天的目的就是编译成功,已经达成,回头再继续重温怎么用吧。

相关链接

H2
H3
H4
3 columns
2 columns
1 column
5 Comments
Ecency