在树梅派上安装beam钱包

在树梅派上安装beam钱包

TL;DR(最简化步骤)

如果你只是想体验一下树莓派运行beam钱包不想过多了解细节,下面是最简单的步骤:

第一步:安装依赖库,依次在终端输入下面命令:

sudo apt-get install git
sudo apt-get install cmake
sudo apt-get install libboost-all-dev
sudo apt-get install openssl

sudo apt-get install qt5-default
sudo apt-get install qtdeclarative5-dev libqt5svg5-dev 
sudo apt-get install qttools5-dev-tools qttools5-dev
sudo apt-get install qml-module-qtquick-controls qml-module-qtquick-controls2

第二步:下载源代码:

git clone https://github.com/BeamMW/beam.git
cd beam
git checkout mainnet

第三步:更改一个小bug

终端中输入:

geany ./core/ecc.cpp

打开一个编辑器修改第149行代码:

修改前:if (read(hFile, p, nSize) == nSize)

修改为:if (read(hFile, p, nSize) == (ssize_t) nSize)

第四步:编译

在终端输入:

cmake -DARCH_NATIVE=1 . && make -j 3

第五步:在开始菜单创建beam快捷访问菜单:

sudo mkdir -p /opt/beam
sudo cp ./ui/BeamWallet /opt/beam
sudo cp ./ui/icons/beam_mainnet.png /usr/share/pixmaps/
sudo geany /usr/share/applications/BeamWallet.desktop

在打开的文本编辑器中输入:

[Desktop Entry]
Name=Beam Wallet
Comment=GUI Wallet for BEAM MW Mainnet
Icon=/usr/share/pixmaps/beam_mainnet.png
Exec=/opt/beam/BeamWallet
Type=Application
Encoding=UTF-8
Terminal=false
Categories=Network;

然后保存退出。重启系统,就可以在开始菜单中的网络菜单中找到beam钱包。

详细步骤

只要简单地按照本文介绍的步骤一步一步来,就能把beam钱包和节点安装在树梅派上,三代和四代都可以安装成功。树莓派的SD卡至少要16G,32G的更好,MimbleWimble有良好的可扩展性,所以16GSD卡如果只用作beam节点的话,能用两年不成问题。

准备

beam的交易处理过程需要所在的计算机有正确的时间,因为树梅派没有集成实时时钟程序,所以在运行钱包前请确保时间正确。(我设置了上海时间后没遇到问题)

另外,在编译过程中某些库需要很高的内存,因此需要设置虚拟内存(4G版本的树梅派可以忽略这一步)。

在终端中输入:

sudo geany /etc/dphys-swapfile

会出现一个文本编辑器,把第16行的数字改成2048.,然后保存并退出编辑器。
然后,输入

sudo dphys-swapfile setup

这会在你的SD卡上划出2G的空间作为虚拟内存。

我们可以使用下面两行命令可以在编译完成后关闭虚拟内存:

sudo dphys-swapfile swapoff
sudo dphys-swapfile uninstall

或在上文的setup命令中改回系统默认。

如何编译命令行节点和钱包

首先安装beam的依赖库,依次输入一下命令:

sudo apt-get install git
sudo apt-get install cmake
sudo apt-get install libboost-all-dev
sudo apt-get install openssl

现在我们已经做好编译命令行节点和钱包的准备。下一步我们下载beam源代码,并进入beam的正确代码分支来编译可连接beam主网的节点:

git clone https://github.com/BeamMW/beam.git
cd beam
git checkout mainnet

编译前我们要修复一个小bug,下一个版本可能就修复了,不过现在我用的这源代码还未修复。

输入命令:

geany ./core/ecc.cpp

此时会打开文本编辑器编辑ecc.cpp,在149行处的代码需要修改一下
原:if (read(hFile, p, nSize) == nSize)
改为:if (read(hFile, p, nSize) == (ssize_t) nSize)

修改bug

然后保存,现在就可以编译了 。

如果你想直接编译图形化钱包,可以跳过下面步骤,直接按照下一章节的步骤进行。

复制并输入下面命令:

cmake -DBEAM_NO_QT_UI_WALLET=1 -DARCH_NATIVE=1 . && make -j 3

命令说明:“-j”参数表示的是用几个cpu核心编译,“-j 3”表示用3个,如果你用的是4G版本的树莓派,可以设定“-j 4”,使用4个cpu核心。如果是树莓派4 2G ,可以使用“-j 3”,如果是1G内存或树莓派3,可以使用“-j 2”或 “-j 1”。

2G的树莓派使用“-j 3”是非常顺畅 的,除了在进行到65%处编译一些库文件用到虚拟内存时会变慢。在2G树莓派上编译beam钱包需要大概半个小时。译者用的是4G版本,时间稍微短了一点点。

编译结束后我们得到 以下两个可执行文件:

./beam/beam-node
./wallet/beam-wallet

可以把他们拷贝到一个文件夹中,启动节点方法请参考我之前的文章。
强烈推荐使用快速同步参数“horizon_hi”“horizon_lo”,节省同步时间。

如何安装CLI节点并设置自动启动

如果你想清理编译文件夹以节省你的树莓派的空间,可以创建一个新的文件夹,把beam钱包和节点放到这新文件夹中。你可以直接把可执行文件拷贝到新文件夹。

下面是用命令在你的home文件中创建新文件夹并把beam相关文件拷贝进去:

sudo mkdir -p opt/beam
sudo chown pi:pi opt/beam 

cp ~/beam/{beam/beam-node,wallet/beam-wallet} /opt/beam

除了可执行文件,我们还需要在home中为配置文件和节点数据创建一个文件夹:

mkdir -p ~/.local/share/beam
cp ~/beam/{beam/beam-node.cfg,wallet/beam-wallet.cfg} ~/.local/share/beam

现在相关文件都拷贝好了,可以把源代码的文件夹清理了(如果你还要编译图形化钱包就先别清理)。

下面的命令是告诉系统可执行文件和配置的新位置:

geany /home/pi/.bashrc

在文本最后一行加入下面代码:

export PATH=/opt/beam:$PATH

function BeamNode {
pushd ~/.local/share/beam
beam-node $@
popd
}
 
function BeamCLIWallet {
pushd ~/.local/share/beam
beam-node $@
popd
}

保存退出后,输入:

source ./.bashrc

现在当你打开终端时,你的系统会知道BeamNode和BeamCLIWallet这两个命令的位置,当执行完后会回到你所在的位置。

相对应的配置文件可以这样访问:

geany /home/pi/.local/share/beam/beam-node.cfg

节点配置可以这样访问:

geany /home/pi/-local/share/beam/beam-wallet.cfg

完成后可以输入”BeamNode”来启动第一次同步,这要花上好长时间,在此期间CPU会满载运行。不过不用担心,在同步完成后,计算机资源消耗会接近零。

如何在系统重启时自动运行beam节点?

首先安装tmux,这个软件可以在系统启动时运行一个终端并输入命令行。

sudo apt-get install tmux

然后创建一个cron文件,这个可以在系统启动得时候运行beam节点,输入:

geany /opt/beam/beam.cron

打开文本编辑器输入:

#!/bin/bash
sleep 5
/usr/bin/tmux new-session -d -s beamSession ‘/bin/bash’
/usr/bin/tmux send-keys -t beamSession “source /home/pi/.bashrc” C-m
/usr/bin/tmux send-keys -t beamSession “BeamNode” C-m

然后保存并退出编辑器。注意,在系统重启后,我们设置了5秒后启动节点。这可以让系统先连接网络。另外就是如果一次启动太多任务会导致一些问题,所以你如果想通过这个方式启动多个任务(如CLI钱包),可以适当地增加这个参数值。

现在我们让Cron程序读到这个文件,输入:

crontab -e 

如果你第一次使用这个命令,你会被问使用什么编辑器,选择1使用nano(一种文本编辑器)。

然后用方向键选到最后一样,插入下面一行命令:

@reboot /opt/beam/beam.cron

按ctrl + O保存,按ctrl + x 退出这个编辑器。至此,每次启动系统,节点都会跟随启动。打开终端输入下面命令会看到节点运行情况:

tmux attach-session -t beamSession

以上我都是用配置文件来配置节点的,没有添加附加命令。

如何编译安装图形钱包

图形化钱包

编译GUI钱包需要另外几个依赖库,输入一下命令进行安装:

sudo apt-get install qt5-default
sudo apt-get install qtdeclarative5-dev libqt5svg5-dev 
sudo apt-get install qttools5-dev-tools qttools5-dev
sudo apt-get install qml-module-qtquick-controls qml-module-qtquick-controls2

这些大概要占200m空间。注意,如果你没有编译节点,下面会进行编译,如果你已经编译了节点,你需要先输入:

rm ./CMakeCache.txt

然后输入如下命令,启动编译过程:

cmake -DARCH_NATIVE=1 . && make -j 3

你可以根据你的硬件编辑“-j”参数。

然后是创建新文件夹,把GUI钱包可执行文件转移到这个位置并在开始菜单创建快捷启动方式,输入:

sudo mkdir -p /opt/beam
sudo cp ./ui/BeamWallet /opt/beam
sudo cp ./ui/icons/beam_mainnet.png /usr/share/pixmaps/
sudo geany /usr/share/applications/BeamWallet.desktop

此时会启动一个文本编辑器,把下面文本拷贝到这个文件并保存:

[Desktop Entry]
Name=Beam Wallet
Comment=GUI Wallet for BEAM MW Mainnet
Icon=/usr/share/pixmaps/beam_mainnet.png
Exec=/opt/beam/BeamWallet
Type=Application
Encoding=UTF-8
Terminal=false
Categories=Network;

最后,重启系统或输入:

lxpanelctl restart
在开始菜单中的internet可以找到beam

大功告成。

原文:https://medium.com/beam-mw/how-to-install-beam-on-your-raspberry-pi-448d1cdb5c10

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,864评论 6 494
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,175评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,401评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,170评论 1 286
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,276评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,364评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,401评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,179评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,604评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,902评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,070评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,751评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,380评论 3 319
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,077评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,312评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,924评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,957评论 2 351